(57)【要約】【課題】既存のアプリケーションダウンロードサービスの枠組みに変更を加えることなく、インストールすべきアプリケーションのみを確実にインストールすること。【解決手段】情報処理装置は、通信部と、記憶部と、制御部とを有する。上記通信部は、所定の方式で符号化された第１のアプリケーションデータと、他の方式で符号化された、または、符号化されていない第２のアプリケーションデータとが共に提供されるネットワーク上のサービスから、任意のアプリケーションデータをダウンロード可能である。上記記憶部は、上記第１のアプリケーションデータを復号するための復号情報を記憶する。上記制御部は、上記第１のアプリケーションデータを、上記復号情報を用いて復号してインストールすることが可能である。【選択図】図４
2014048811.tif 000002
【特許請求の範囲】
【請求項１】
所定の方式で符号化された第１のアプリケーションデータと、他の方式で符号化された、または、符号化されていない第２のアプリケーションデータとが共に提供されるネットワーク上のサービスから、任意のアプリケーションデータをダウンロード可能な通信部と、
前記第１のアプリケーションデータを復号するための復号情報を記憶する記憶部と、
前記第１のアプリケーションデータを、前記復号情報を用いて復号してインストールすることが可能な制御部と
を具備する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記第１のアプリケーションデータは、所定の拡張子を含むファイル名を有し、
前記記憶部は、前記所定の拡張子を示す拡張子情報を記憶し、
前記制御部は、前記復号前に、前記拡張子情報と、前記ダウンロードされたアプリケーションデータの拡張子とを比較して、当該アプリケーションデータのインストールの可否を判断する
情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
前記第１のアプリケーションデータは、第１の暗号化方式で暗号化された第１の部分と、前記第１の暗号化方式とは異なる第２の暗号化方式で暗号化された、または暗号化されていない第２の部分とを有し、
前記記憶部は、前記復号情報として、前記第１の暗号化方式に対応した第１の復号鍵と、前記第２の暗号化方式に対応した第２の復号鍵とを記憶し、
前記制御部は、前記第１の復号鍵により前記暗号化された第１の部分を復号し、前記第２の復号鍵により前記暗号化された第２の部分を復号することが可能である
情報処理装置。
【請求項４】
請求項３に記載の情報処理装置であって、
前記第２の暗号化方式の強度は、前記第１の暗号化方式の強度よりも低い
情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記第１の部分はプログラム領域であり、前記第２の部分はリソース領域である
情報処理装置。
【請求項６】
請求項４に記載の情報処理装置であって、
前記第１のアプリケーションデータは、前記第１の部分と前記第２の部分の構造を示す構造情報を記した付加データ領域を有し、
前記制御部は、前記構造情報に従って前記第１の部分と前記第２の部分とを復号可能である
情報処理装置。
【請求項７】
請求項１に記載の情報処理装置であって、
前記第１のアプリケーションデータは、前記第１のアプリケーションデータの仕様を示す仕様情報を記した付加データ領域を有し、
前記制御部は、前記復号前に、前記付加データ領域に記された仕様情報を基に前記第１のアプリケーションデータのインストールの可否を判断可能である
情報処理装置。
【請求項８】
請求項１に記載の情報処理装置であって、
前記第１のアプリケーションデータは、情報処理装置の仕様によって異なる複数のバージョンのアプリケーションデータが１つのデータとして符号化されたものであり、かつ、情報処理装置の仕様と、インストール可能なアプリケーションデータのバージョンとの関係を示す仕様情報が記された付加データ領域を有し、
前記制御部は、前記復号前に、前記付加データ領域に記された仕様情報を基に、前記異なる複数のバージョンのアプリケーションデータから、インストールすべきアプリケーションデータを選択可能である
情報処理装置。
【請求項９】
請求項１に記載の情報処理装置であって、
前記第１のアプリケーションデータは、前記第１のアプリケーションデータが正しく復号されたか否かを判定するための判定情報が記された付加データ領域を有し、
前記制御部は、前記第１のアプリケーションデータの復号後、前記インストール前に、前記付加データ領域に記された判定情報を元に、当該第１のアプリケーションデータが正しく復号されたか否かを判定可能である
情報処理装置。
【請求項１０】
請求項１に記載の情報処理装置であって、
前記第１のアプリケーションデータは、所定の暗号鍵と、情報処理装置の種類または仕様に応じたユニークコードとで暗号化されており、
前記記憶部は、前記暗号鍵と、当該情報処理装置の種類または仕様に応じたユニークコードを記憶し、
前記制御部は、前記記憶された暗号鍵及びユニークコードを用いて前記第１のアプリケーションデータを復号可能である
情報処理装置。
【請求項１１】
請求項１に記載の情報処理装置であって、
当該情報処理装置はスマートフォン以外の装置である
情報処理装置。
【請求項１２】
請求項１に記載の情報処理装置であって、
当該情報処理装置はカメラである
情報処理装置。
【請求項１３】
所定の方式で符号化された第１のアプリケーションデータと、他の方式で符号化された、または、符号化されていない第２のアプリケーションデータとが共に提供されるネットワーク上のサービスから、前記第１のアプリケーションデータをダウンロードし、
前記第１のアプリケーションデータを、当該第１のアプリケーションデータを復号するための復号情報を用いて復号し、
前記復号された第１のアプリケーションをインストールする
情報処理方法。
【請求項１４】
情報処理装置に、
所定の方式で符号化された第１のアプリケーションデータと、他の方式で符号化された、または、符号化されていない第２のアプリケーションデータとが共に提供されるネットワーク上のサービスから、前記第１のアプリケーションデータをダウンロードするステップと、
前記第１のアプリケーションデータを、当該第１のアプリケーションデータを復号するための復号情報を用いて復号するステップと、
前記復号された第１のアプリケーションをインストールするステップと
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、アプリケーションをダウンロード及びインストールして実行することが可能な情報処理装置、当該情報処理装置における情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来から、情報処理装置においてアプリケーションを選択的にダウンロード及びインストールする仕組みが存在する。
【０００３】
下記特許文献１には、ユーザ端末がサーバからプログラムファイルをダウンロードし、それをインストールする際に、そのプログラムファイルにユーザ端末が有する固有情報を記録し、次回以降にプログラムファイルが他の端末にインストールされる際には、他の端末が、当該他の端末が有する固有情報と、上記記録された固有情報とを比較し、両者が一致する場合にインストールを許可することが記載されている。
【０００４】
下記特許文献２には、ユーザ端末が、ユーザ端末情報をサーバへ転送し、それに基づいてサーバで生成されたアプリケーションリストを受信し、それを画面に表示し、ユーザがそれに基づいて、実行するアプリケーションを選択することが記載されている。
【０００５】
下記特許文献３には、端末が、認証モジュールの耐タンパ領域に保持されたアプリケーション認証用の情報を用いて、端末にダウンロードされたアプリケーションの認証を行い、出所や改ざんの有無を確認することが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１４１４５４号公報
【特許文献２】特開２０１１−０４４１４７号公報
【特許文献３】特開２００３−２２３２３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１記載の技術では、ユーザ端末の固有情報の比較によってインストールの可否が決定されるため、ユーザ端末に固有情報が追加される必要がある。
【０００８】
また、上記特許文献２記載の技術では、サーバにユーザ端末の情報が転送されることでインストール可能なアプリケーションのリストが表示されるため、ユーザ端末には端末情報の転送のための機構が新たに必要となり、サーバにはアプリケーションリストを生成する機構が新たに必要となる。
【０００９】
また、上記特許文献３記載の技術では、端末の認証機能によって不正なアプリケーションであるか否かが判断されるため、端末には当該認証機能が新たに必要となる。
【００１０】
以上のような事情に鑑み、本技術の目的は、既存のアプリケーションダウンロードサービスの枠組みに変更を加えることなく、インストールすべきアプリケーションのみを確実にインストールすることが可能な情報処理装置、情報処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上述の課題を解決するため、本技術の一形態に係る情報処理装置は、通信部と、記憶部と、制御部とを有する。上記通信部は、所定の方式で符号化された第１のアプリケーションデータと、他の方式で符号化された、または、符号化されていない第２のアプリケーションデータとが共に提供されるネットワーク上のサービスから、任意のアプリケーションデータをダウンロード可能である。上記記憶部は、上記第１のアプリケーションデータを復号するための復号情報を記憶する。上記制御部は、上記第１のアプリケーションデータを、上記復号情報を用いて復号してインストールすることが可能である。
【００１２】
この構成により情報処理装置は、所定の方式で符号化されたアプリケーションデータを復号することができるため、既存のアプリケーションダウンロードサービスの枠組みに変更を加えることなく、インストールすべきアプリケーションのみを確実にインストールすることができる。
【００１３】
上記第１のアプリケーションデータは、所定の拡張子を含むファイル名を有し、上記記憶部は、上記所定の拡張子を示す拡張子情報を記憶してもよい。この場合上記制御部は、上記復号前に、上記拡張子情報と、上記ダウンロードされたアプリケーションデータの拡張子とを比較して、当該アプリケーションデータのインストールの可否を判断してもよい。
【００１４】
これにより情報処理装置は、インストール不可能なアプリケーションデータを、復号処理を経ることなく判別することができるため、インストール可否の判断に要する時間を削減することができる。
【００１５】
上記第１のアプリケーションデータは、第１の暗号化方式で暗号化された第１の部分と、上記第１の暗号化方式とは異なる第２の暗号化方式で暗号化された、または暗号化されていない第２の部分とを有してもよい。この場合上記記憶部は、上記復号情報として、上記第１の暗号化方式に対応した第１の復号鍵と、上記第２の暗号化方式に対応した第２の復号鍵とを記憶してもよい。またこの場合上記制御部は、上記第１の復号鍵により上記暗号化された第１の部分を復号し、上記第２の復号鍵により上記暗号化された第２の部分を復号することが可能であってもよい。ここで上記第２の暗号化方式の強度は、上記第１の暗号化方式の強度よりも低くてもよい。
【００１６】
これにより、第１のアプリケーションデータが部分毎に異なる強度で暗号化されていることから、情報処理装置は、第１のアプリケーションデータの全部分が第１の暗号化方式で暗号化されている場合に比べて、復号処理に要する時間を短縮することができる。
【００１７】
上記第１の部分はプログラム領域であり、上記第２の部分はリソース領域であってもよい。
【００１８】
これにより、アプリケーションデータのうち情報量の多いリソース領域が低い強度で暗号化されまたは暗号化されていないため、アプリケーションデータの復号処理に要する時間をさらに短縮することができる。
【００１９】
上記第１のアプリケーションデータは、上記第１の部分と上記第２の部分の構造を示す構造情報を記した付加データ領域を有してもよい。この場合上記制御部は、上記構造情報に従って上記第１の部分と上記第２の部分とを復号可能であってもよい。
【００２０】
これにより情報処理装置は、部分毎に強度の異なる暗号化方式で暗号化されたあらゆる構造のアプリケーションデータを復号することができる。
【００２１】
上記第１のアプリケーションデータは、上記第１のアプリケーションデータの仕様を示す仕様情報を記した付加データ領域を有してもよい。この場合上記制御部は、上記復号前に、上記付加データ領域に記された仕様情報を基に上記第１のアプリケーションデータのインストールの可否を判断可能であってもよい。
【００２２】
これにより情報処理装置は、仕様がサポートされていないことでインストール不可能なアプリケーションデータを、復号処理を経ることなく判別することができるため、インストール可否の判断に要する時間を削減することができる。
【００２３】
上記第１のアプリケーションデータは、情報処理装置の仕様によって異なる複数のバージョンのアプリケーションデータが１つのデータとして符号化されたものであり、かつ、情報処理装置の仕様と、インストール可能なアプリケーションデータのバージョンとの関係を示す仕様情報が記された付加データ領域を有してもよい。この場合上記制御部は、上記復号前に、上記付加データ領域に記された仕様情報を基に、上記異なる複数のバージョンのアプリケーションデータから、インストールすべきアプリケーションデータを選択可能であってもよい。
【００２４】
これにより情報処理装置は、その仕様毎に異なるアプリケーションデータをダウンロードすることなく、その仕様に応じたアプリケーションデータをインストールすることができる。
【００２５】
上記第１のアプリケーションデータは、上記第１のアプリケーションデータが正しく復号されたか否かを判定するための判定情報が記された付加データ領域を有してもよい。この場合上記制御部は、上記第１のアプリケーションデータの復号後、上記インストール前に、上記付加データ領域に記された判定情報を元に、当該第１のアプリケーションデータが正しく復号されたか否かを判定可能であってもよい。
【００２６】
これにより情報処理装置は、第１のアプリケーションデータが正しく復号できたことをインストール前に確認し、インストールに失敗するのを防ぐことができる。
【００２７】
上記第１のアプリケーションデータは、所定の暗号鍵と、情報処理装置の種類または仕様に応じたユニークコードとで暗号化されていてもよい。この場合上記記憶部は、上記暗号鍵と、当該情報処理装置の種類または仕様に応じたユニークコードを記憶してもよい。またこの場合上記制御部は、上記記憶された暗号鍵及びユニークコードを用いて上記第１のアプリケーションデータを復号可能であってもよい。
【００２８】
これにより情報処理装置は、その機種または仕様に応じたユニークコードを暗号鍵と共に用いて第１のアプリケーションデータを復号することで、仮に暗号鍵が外部に漏洩した場合でも、他の仕様または種類の情報処理装置に不正に第１のアプリケーションデータがインストールされるのを防ぐことができる。
【００２９】
当該情報処理装置はスマートフォン以外の装置であってもよい。具体的には、当該情報処理装置はカメラであってもよい。
【００３０】
これにより情報処理装置は、スマートフォンにも提供されうるアプリケーションデータの中から、インストールすべきアプリケーションデータを、スマートフォンと同じ枠組みを利用してダウンロードし、インストールすることができる。
【００３１】
本技術の他の形態に係る情報処理方法は、所定の方式で符号化された第１のアプリケーションデータと、他の方式で符号化された、または、符号化されていない第２のアプリケーションデータとが共に提供されるネットワーク上のサービスから、上記第１のアプリケーションデータをダウンロードすることを含む。また上記方法は、上記第１のアプリケーションデータを、当該第１のアプリケーションデータを復号するための復号情報を用いて復号すること、及び、上記復号された第１のアプリケーションをインストールすることを含む。
【００３２】
本技術のまた別の形態に係るプログラムは、情報処理装置に、ダウンロードステップと、復号ステップと、インストールステップとを実行させる。上記ダウンロードステップでは、所定の方式で符号化された第１のアプリケーションデータと、他の方式で符号化された、または、符号化されていない第２のアプリケーションデータとが共に提供されるネットワーク上のサービスから、上記第１のアプリケーションデータがダウンロードされる。上記復号ステップでは、上記第１のアプリケーションデータが、当該第１のアプリケーションデータを復号するための復号情報を用いて復号される。上記インストールステップでは、上記復号された第１のアプリケーションがインストールされる。
【発明の効果】
【００３３】
以上のように、本技術によれば、既存のアプリケーションダウンロードサービスの枠組みに変更を加えることなく、インストールすべきアプリケーションのみを確実にインストールすることができる。
【図面の簡単な説明】
【００３４】
【図１】本技術の第１の実施形態におけるシステムのネットワーク構成を示した図である。
【図２】上記システムにおけるＣＥ機器のハードウェア構成を示したブロック図である。
【図３】上記システムにおいてサーバからダウンロードされるアプリケーションデータの暗号化方式を説明した図である。
【図４】上記アプリケーションデータのファイルフォーマットを示した図である。
【図５】上記ＣＥ機器によるアプリケーションデータのインストール処理の流れを示したフローチャートである。
【図６】本技術の第２の実施形態におけるＣＥ機器によるアプリケーションデータのインストール処理の流れを示したフローチャートである。
【図７】本技術の第３の実施形態におけるアプリケーションデータのファイルフォーマットを示した図である。
【図８】上記第３の実施形態におけるＣＥ機器によるアプリケーションデータの復号処理の流れを示したフローチャートである。
【図９】本技術の第４の実施形態におけるアプリケーションデータのファイルフォーマットを示した図である。
【図１０】上記第４の実施形態におけるＣＥ機器によるアプリケーションデータの復号処理の流れを示したフローチャートである。
【図１１】本技術の第５の実施形態におけるアプリケーションデータのファイルフォーマットを示した図である。
【図１２】上記第５の実施形態におけるＣＥ機器によるアプリケーションデータの復号処理の流れを示したフローチャートである。
【図１３】本技術の第６の実施形態におけるアプリケーションデータのファイルフォーマットを示した図である。
【図１４】上記第６の実施形態におけるＣＥ機器によるアプリケーションデータの復号処理の流れを示したフローチャートである。
【図１５】本技術の第７の実施形態においてサーバからダウンロードされるアプリケーションデータの暗号化方式を説明した図である。
【図１６】上記第７の実施形態におけるユニークコードの応用例を説明した図である。
【図１７】上記第７の実施形態におけるユニークコードの応用例を説明した図である。
【図１８】上記第７の実施形態におけるＣＥ機器によるアプリケーションデータの復号処理の流れを示したフローチャートである。
【発明を実施するための形態】
【００３５】
以下、本技術に係る実施形態を、図面を参照しながら説明する。
【００３６】
＜第１の実施形態＞
まず、本技術の第１の実施形態を説明する。
【００３７】
［システムのネットワーク構成］
図１は、本実施形態に係るシステムのネットワーク構成を示した図である。
【００３８】
同図に示すように、このシステムでは、種々のＣＥ（Consumer Electronics）機器１００とサーバ２００とがインターネット５０を介して接続されている。
【００３９】
上記ＣＥ機器は、例えばＴＶ、デジタルスチルカメラ、デジタルビデオカメラ、ＢＤ（Blu-ray Disc）／ＤＶＤプレイヤー、ＢＤ（Blu-ray Disc）／ＤＶＤレコーダ、デジタルフォトフレーム、ゲーム機器、カーナビゲーション装置、ＡＶ（Audio/video）機器等、例えばスマートフォン以外のあらゆる情報処理装置であり得る。
【００４０】
サーバ２００は、多数のアプリケーションデータを記憶しており、上記ＣＥ機器１００に対して、それらアプリケーションデータのダウンロードサービス（アプリケーションストア）を提供する。当該アプリケーションデータは、例えばアンドロイド（登録商標）用のアプリケーションデータであり、各種ＣＥ機器１００は、ＯＳとしてアンドロイド（登録商標）が組み込まれている。
【００４１】
上記サーバ２００がアプリケーションストア内で提供するアプリケーションデータは、後述する所定の方式で暗号化されているものと、それ以外の方式で暗号化されているもの、または、暗号化されていないものとを含む。
【００４２】
［ＣＥ機器のハードウェア構成］
図２は、上記ＣＥ機器１００のハードウェア構成を示した図である。同図に示すように、ＣＥ機器１００は、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ（Read Only Memory）１２、ＲＡＭ（Random Access Memory）１３、入出力インタフェース１５、及び、これらを互いに接続するバス１４を備える。
【００４３】
ＣＰＵ１１は、必要に応じてＲＡＭ１３等に適宜アクセスし、各種演算処理を行いながらＣＥ機器１００の各ブロック全体を統括的に制御する。本実施形態では、ＣＰＵ１１は、例えばサーバ２００からのアプリケーションデータのダウンロード処理、復号処理、インストール処理等を実行する。
【００４４】
ＲＯＭ１２は、ＣＰＵ１１に実行させるＯＳ、プログラムや各種パラメータなどのファームウェアが固定的に記憶されている不揮発性のメモリである。ＲＡＭ１３は、ＣＰＵ１１の作業用領域等として用いられ、ＯＳ、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
【００４５】
入出力インタフェース１５には、表示部１６、操作受付部１７、記憶部１８、通信部１９等が接続される。
【００４６】
表示部１６は、例えばＬＣＤ（Liquid Crystal Display）、ＯＥＬＤ（Organic ElectroLuminescence Display）、ＣＲＴ（Cathode Ray Tube）等を用いた表示デバイスである。ＣＥ機器１００によっては、自身では表示部１６を内蔵しておらず、外部の表示装置に接続されている機器もある。
【００４７】
操作受付部１７は、例えばマウス等のポインティングデバイス、キーボード、ボタン、タッチパネル、その他の入力装置である。操作受付部１７がタッチパネルである場合、そのタッチパネルは表示部１６と一体となり得る。
【００４８】
記憶部１８は、例えばＨＤＤ（Hard Disk Drive）や、フラッシュメモリ（ＳＳＤ；Solid State Drive）、その他の固体メモリ等の不揮発性メモリである。当該記憶部１８には、上記ＯＳや各種アプリケーション、各種データが記憶される。特に本実施形態において、記憶部１８には、サーバ２００からダウンロードされインストールされた複数のアプリケーションが記憶される。また記憶部１８には、サーバ２００から暗号化されたアプリケーションデータをダウンロードするためのソフトウェア（ダウンローダ）、当該ダウンロードされたソフトウェアを復号するためのソフトウェア（アンパッケージャ）及びそれをインストールするためのソフトウェア（インストーラ）も記憶される。
【００４９】
通信部１９は、無線ＬＡＮや３Ｇネットワーク等に接続するための無線通信モジュールや、インターネット５０に接続するためのＮＩＣ等であり、サーバ２００との間の通信処理を担う。
【００５０】
［アプリケーションデータの暗号化方式］
図３は、サーバ２００によって提供されるアプリケーションデータのうち、ＣＥ機器１００にインストール可能なアプリケーションデータの暗号化方式を示した図である。
【００５１】
同図に示すように、アプリケーションデータは、例えばＡＥＳ（Advanced Encryption Standard）暗号化方式とＲＳＡ（Rivest Shamir Adleman）暗号化方式とを用いて暗号化される。
【００５２】
すなわち、まず元のアプリケーションデータファイル（例えば、従来からアンドロイド（登録商標）端末に提供されているapkファイル）が、例えばＡＥＳ方式で暗号化される。さらに当該ＡＥＳ暗号に用いられた共通鍵が、ＲＳＡの秘密鍵によって暗号化され、上記ＡＥＳで暗号化されたデータと共にパッケージ化される。本実施形態では、アプリケーションデータの暗号化（符号化）処理を「パッケージ化」とも称し、またその暗号化されたアプリケーションデータの、上記アンパッケージャによる復号処理を「アンパッケージ化」とも称する。
【００５３】
上記ＲＳＡの秘密鍵に対応する公開鍵は、ＣＥ機器１００に予め記憶されており、ＣＥ機器１００は、上記ＲＳＡ及びＡＥＳの暗号化・復号処理を実行するためのモジュールを有している。
【００５４】
パッケージ化されたアプリケーションデータファイルは、例えば拡張子「pkg」を有し、そのファイル名の一部として、そのフォーマットバージョンを示す情報を有する。すなわち、アプリケーションデータファイルのファイル名は、例えば「(任意の名前).(フォーマットバージョン).pkg」という形式を有する。
【００５５】
例えば、アプリケーションデータが「MyApp.1.pkg」というファイル名を有する場合、「1」はそのバージョンを示している。後述するが、この拡張子やバージョン情報は、ＣＥ機器１００による復号処理の前処理において参照される。
【００５６】
［アプリケーションデータのファイルフォーマット］
図４は、図３で示したアプリケーションデータのファイルフォーマットを示した図である。
【００５７】
同図に示すように、アプリケーションデータは、マジックナンバー領域４１、エクストラデータ（付加データ）長領域４２、エクストラデータ（付加データ）領域４３、キー長領域４４、キー領域４５及びデータ領域４６を有する。
【００５８】
これらの領域のうち、データ領域４６のみが、上記図３で示した方式で暗号化される。
【００５９】
マジックナンバー領域４１は、アプリケーションデータの開発者によって任意の数字に設定される。
【００６０】
付加データ領域４３は、アプリケーションデータの開発者が自由に用いることができる領域であり、そこには例えば、開発元の会社名、商品名、商品の型番、カテゴリ等の情報が記述される。付加データ長領域４２は、当該付加データ領域４３のデータ長を規定する領域である。
【００６１】
キー領域４５には、上記図３で示したアプリケーションデータのＲＳＡ秘密鍵で暗号化された、ＡＥＳ共通鍵が記述される。キー長領域４４は、当該キー領域４５のデータ長を規定する領域である。
【００６２】
データ領域４６は、ヘッダ領域、アプリケーションファイルデータ領域、パリティ領域、電子署名領域及び付加情報領域などを有する。このデータ領域４６の構造は、アンドロイド（登録商標）用として提供されているアプリケーションなどで使われているデータ構造の例であるが、ＣＥ機器１００のプラットフォームに応じて様々な構造が採用され得る。
【００６３】
［システムの動作］
次に、以上のように構成されたシステムにおけるＣＥ機器１００の動作について説明する。本実施形態及び他の実施形態において、ＣＥ機器１００における動作は、ＣＰＵ１１と、その制御下において実行されるソフトウェア（上記ダウンローダ、アンパッケージャ及びインストーラ）とで協働して行われる。
【００６４】
図５は、本実施形態におけるＣＥ機器１００によるアプリケーションデータのインストール処理の流れを示したフローチャートである。
【００６５】
同図に示すように、まず、ＣＥ機器１００のダウンローダは、例えばユーザの操作に基づいて、サーバ２００からダウンロードするアプリケーションを選択して、それをダウンロードする（ステップ５１）。
【００６６】
続いてアンパッケージャは、ダウンロードしたアプリケーションデータのファイル名を確認し、それに含まれる拡張子及びバージョンが、ＣＥ機器１００でサポートされたものであるか否かを判断する（ステップ５２）。例えばアンパッケージャは、ファイルの拡張子がpkg等の所定の拡張子でない場合や、バージョンが所定のバージョン（例えばバージョン１）でない場合には、アプリケーションデータがサポート外であると判断する。
【００６７】
アプリケーションデータの拡張子及びバージョンがサポート内であると判断した場合（Ｙｅｓ）、アンパッケージャは、当該バージョンに応じて上記アプリケーションデータを復号する。そしてインストーラは、当該復号されたアプリケーションデータをインストールする（ステップ５３）。
【００６８】
具体的には、アンパッケージャは、アプリケーションデータのキー領域４５（ＲＳＡの秘密鍵で暗号化されたＡＥＳの共通鍵）を、予め保持しているＲＳＡの公開鍵によって復号し、当該復号されたＡＥＳの共通鍵を用いて、データ領域４６を復号する。
【００６９】
上記拡張子及びバージョンがサポート外であった場合（ステップ５２のＮｏ）や、アンパッケージャによる復号処理及びインストーラによるインストール処理が正しく実行されなかった場合（ステップ５４のＮｏ）、アンパッケージャまたはインストーラは、表示部１６にエラーを表示して終了する（ステップ５５）。
【００７０】
以上説明したように、本実施形態によれば、ＣＥ機器１００は、サーバ２００で提供されているアプリケーションデータの中から、インストールすべきアプリケーションデータが復号可能か否かを判断することで、インストールすべきアプリケーションデータ選別してそれを確実にインストールすることができる。またＣＥ機器１００は、復号処理の前にアプリケーションデータのファイル名からインストール可否を判断することで、復号処理を経ずともインストール不可能なアプリケーションデータを判別することができる。
【００７１】
＜第２の実施形態＞
次に、本技術の第２の実施形態を説明する。本実施形態及び以降の実施形態において、第１の実施形態と同一の構成及び機能を有する箇所には同一の符号を付し、説明を省略する。
【００７２】
上記第１の実施形態では、アプリケーションデータのインストールの可否が、そのファイル名から判断された。本実施形態では、上記図４で示した付加データ領域４３に、アプリケーションデータの仕様情報が記憶されており、アンパッケージャは、復号前に当該付加データ領域４３を参照することでインストールの可否を判断する。ここで仕様情報とは、例えば当該アプリケーションデータが動作可能な機器の環境等を示す情報である。
【００７３】
図６は、本実施形態におけるＣＥ機器１００によるアプリケーションデータのインストール処理の流れを示したフローチャートである。
【００７４】
同図に示すように、まず、ＣＥ機器１００のダウンローダは、上記第１の実施形態の図５と同様に、アプリケーションデータをダウンロードし、ファイル名からインストール可否を判断する（ステップ６１、６２）。
【００７５】
続いてアンパッケージャは、上記付加データ領域４３から、仕様情報を取得する（ステップ６３）。
【００７６】
続いてアンパッケージャは、上記仕様情報と、ＣＥ機器１００の仕様（例えばＯＳのバージョン、ＣＰＵ１１の処理能力、ＲＡＭ１３及び記憶部１８の記憶容量、ネット接続環境、表示部の解像度等）とを比較し、アプリケーションデータのインストールの可否を判断する（ステップ６４）。
【００７７】
アプリケーションデータのバージョンがサポート内であり、ＣＥ機器１００の仕様が上記仕様情報に記された条件を満たすと判断した場合（Ｙｅｓ）、アンパッケージャは、バージョン及び仕様に応じて上記アプリケーションデータを復号する。そしてインストーラは、当該復号されたアプリケーションデータをインストールする（ステップ６５）。
【００７８】
その後の処理は、上記第１の実施形態における図５のステップ５４、５５と同様である（ステップ６６、６７）。
【００７９】
以上説明したように、本実施形態によれば、ＣＥ機器１００は、アプリケーションデータの付加データ領域４３に記された仕様情報を参照することで、復号前にアプリケーションデータのインストール可否をより確実に判別することができる。
【００８０】
＜第３の実施形態＞
次に、本技術の第３の実施形態を説明する。
【００８１】
図７は、本実施形態においてＣＥ機器１００にインストール可能なアプリケーションデータのファイルフォーマットを示した図である。
【００８２】
本実施形態におけるアプリケーションデータは、データ領域４６が、強度の異なる暗号化方式で暗号化された複数の部分を有する。同図に示すように、例えばデータ領域４６は、ＡＥＳで暗号化された第１の部分Ｄ１と、ＥＸＯＲによって暗号化された第２の部分Ｄ２とを有する。周知のように、ＡＥＳ暗号化方式は、ＥＸＯＲ暗号化方式に比べて極めて高い暗号化強度を有する。
【００８３】
本実施形態では、上記強度の異なる暗号化方式でデータ領域４６が暗号化されることを、異なる複数の暗号化方式が入り混じっている様子から、「斑暗号処理」と称する。強度の高い暗号化方式としては、ＡＥＳ以外にも、例えばＤＥＳ（Data Encryption Standard）、ＲＣ４（Rivest's Cipher 4）、ＲＳＡ、ＥＣＣ（Elliptic Curve Cryptography）、ディフィー・へルマン鍵交換方式、ＣＬＥＦＩＡ等、様々な暗号化方式が挙げられる。また強度の低い暗号化方式としては、ＥＸＯＲ以外にも、例えば１ビットシフト処理、反転処理、Endiannessの逆処理（バイトオーダーの変換処理）等が挙げられる（これらは一般的には暗号化方式とは呼ばれないこともある）。また、強度の低い暗号化方式で暗号化される代わりに、全く暗号化されない部分があっても構わない。また、第１の部分Ｄ１の暗号化方式と第２の部分Ｄ２の暗号化方式は、方式自体は異なるがそれらの強度は同一であってもよいし、方式は同一でもそれらの強度が異なっていてもよい。
【００８４】
また、上記斑暗号処理には、例えば同図（ａ）〜（ｃ）に示すように、第１の部分Ｄ１と第２の部分Ｄ２をどのような構造で形成するかによって、様々な仕様（バージョン）が考えられる。すなわち、各部分のデータ長、部分の数、各部分に適用される暗号化方式等に応じて、様々な斑暗号処理のバージョンが存在しうる。そのため、本実施形態における付加データ領域４３の一部の領域には、上記斑暗号処理のバージョンを示す斑暗合バージョン情報７１が記されている。ＣＥ機器１００は、上記斑暗号バージョン情報７１を参照することで、斑暗号処理されたデータ領域４６の復号手順及びインストールの可否を判断することができる。
【００８５】
図８は、本実施形態におけるＣＥ機器１００によるアプリケーションデータの復号処理の流れを示したフローチャートである。
【００８６】
同図に示すように、まず、ＣＥ機器１００のダウンローダは、上記第１及び第２の実施形態と同様に、アプリケーションデータをダウンロードし、アンパッケージャは、ファイル名からそのインストール可否を判断する（ステップ８１）。
【００８７】
続いてアンパッケージャは、上記付加データ領域４３から、斑暗号バージョン情報７１を読み込む（ステップ８２）。
【００８８】
続いてアンパッケージャは、上記斑暗号バージョン情報７１を基に、自身がそれに記述された指定バージョンによる斑暗号の復号処理に対応しているか否かを判断する（ステップ８３）。
【００８９】
上記バージョンの斑暗号の復号処理に対応していると判断した場合（Ｙｅｓ）、アンパッケージャは、そのバージョンに応じて、データ領域４６の各部分を復号する（ステップ８４）。
【００９０】
上記バージョンの斑暗号の復号処理に対応していないと判断した場合（Ｎｏ）及び上記データ領域４６が正しく復号できなかった場合（ステップ８５のＮｏ）、アンパッケージャは、表示部１６にエラーを表示して終了する（ステップ８６）。
【００９１】
以上説明したように、本実施形態によれば、アプリケーションデータのデータ領域４６が、部分毎に強度の異なる暗号化方式によって暗号化されている。しかたがってＣＥ機器１００は、全ての部分が強度の高い暗号化方式で暗号化されている場合に比べて、復号処理に要する時間を短縮することができる。これは特に、スマートフォンのような高度な処理能力を有さないＣＥ機器１００にとって有効である。
【００９２】
＜第４の実施形態＞
次に、本技術の第４の実施形態を説明する。
【００９３】
図９は、本実施形態においてＣＥ機器１００にインストール可能なアプリケーションデータのファイルフォーマットを示した図である。
【００９４】
上述の第１〜第３の実施形態では、サーバ２００で提供されているアプリケーションデータは、１つのファイルにつき１つのバージョンのデータ領域４６を有していた。しかし、本実施形態において、アプリケーションデータは、同図に示すように、複数のバージョン（例えば２つのバージョン）に対応した複数のデータ領域（例えば２つのデータ領域４６Ａ及び４６Ｂ）を有している。
【００９５】
すなわち、本実施形態においては、バージョンが異なる複数のアプリケーションデータ（９１Ａ及び９１Ｂ）がまとめて１つのパッケージとして暗号化され提供されている。
【００９６】
また本実施形態において、付加データ領域４３の一部には、上記複数の異なるバージョンのアプリケーションデータのそれぞれが動作可能なＣＥ機器のバージョン（仕様）を示した機器バージョン情報９２が記憶されている。機器バージョン情報９２とは、例えば同種の機器におけるシリーズ番号（型番）等である。また機器バージョン情報９２として、より詳細な仕様情報（例えばＯＳのバージョン、ＣＰＵ１１の処理能力、ＲＡＭ１３及び記憶部１８の記憶容量、ネット接続環境、表示部の解像度等）が記述されていてもよい。
【００９７】
ＣＥ機器１００は、上記機器バージョン情報９２を参照することで、上記ダウンロードしたアプリケーションデータに含まれる複数のバージョンのデータのうち、自身のバージョンでサポートされているアプリケーションデータを選択してインストールする。
【００９８】
図１０は、本実施形態におけるＣＥ機器１００によるアプリケーションデータの復号処理の流れを示したフローチャートである。
【００９９】
同図に示すように、まず、ＣＥ機器１００のダウンローダは、上記第１乃至第３の実施形態と同様に、アプリケーションデータをダウンロードし、アンパッケージャは、ファイル名からそのインストール可否を判断する（ステップ１０１）。
【０１００】
続いてアンパッケージャは、上記付加データ領域４３から、上記機器バージョン情報９２を読み込む（ステップ１０２）。
【０１０１】
続いてアンパッケージャは、上記機器バージョン情報９２を基に、データ領域４６に含まれる複数のバージョンのアプリケーションのうち、自身がどのバージョンのアプリケーションに対応しているかを判断する（ステップ１０３）。
【０１０２】
上記いずれかのバージョンのアプリケーションに対応していると判断した場合（Ｙｅｓ）、アンパッケージャは、対応しているアプリケーションを選択し、そのアプリケーションデータを復号する（ステップ１０４）。
【０１０３】
上記いずれのバージョンのアプリケーションデータにも対応していないと判断した場合（Ｎｏ）及び上記選択したアプリケーションデータが正しく復号できなかった場合（ステップ１０５のＮｏ）、アンパッケージャは、表示部１６にエラーを表示して終了する（ステップ１０６）。
【０１０４】
以上説明したように、本実施形態によれば、複数のバージョンのアプリケーションデータがまとめてパッケージ化されて、上記機器バージョン情報９２とともに提供されている。したがってＣＥ機器１００は、ダウンロードすべき自機のバージョン（または仕様）に合ったアプリケーションデータを選択したり、様々なバージョンのアプリケーションデータのインストール処理を試したりすることなく、一度のダウンロード処理によって自機のバージョン（仕様）に合ったアプリケーションデータをインストールすることができる。
【０１０５】
＜第５の実施形態＞
次に、本技術の第５の実施形態を説明する。
【０１０６】
図１１は、本実施形態においてＣＥ機器１００にインストール可能なアプリケーションデータのファイルフォーマットを示した図である。
【０１０７】
同図に示すように、本実施形態では、アプリケーションデータの付加データ領域４３の一部には、暗号化されたアプリケーションデータが復号された際に、正しく復号できたか否かを判定するための復号判定情報１１１が記憶されている。復号判定情報としては、例えば、データサイズ、ＣＲＣ（Cyclic Redundancy Check）、ハッシュコード等が挙げられる。また復号判定情報には、当該判定が可能な暗号化方式のバージョンを示す情報も含まれる。
【０１０８】
ＣＥ機器１００は、ダウンロードしたアプリケーションデータの上記復号判定情報１１１を参照することで、アプリケーションデータの復号が正しく実行されたか否かを判定することができる。
【０１０９】
図１２は、本実施形態におけるＣＥ機器１００によるアプリケーションデータの復号処理の流れを示したフローチャートである。
【０１１０】
同図に示すように、まず、ＣＥ機器１００のダウンローダは、上記第１乃至第４の実施形態と同様に、アプリケーションデータをダウンロードし、アンパッケージャは、ファイル名からそのインストール可否を判断する（ステップ１２１）。
【０１１１】
続いてアンパッケージャは、上記付加データ領域４３から、上記復号判定情報１１１を読み込む（ステップ１２２）。
【０１１２】
続いてアンパッケージャは、上記復号判定情報１１１を基に、自身が復号判定情報１１１による判定処理が可能な暗号化方式のバージョンに対応しているか否かを判断する（ステップ１２３）。
【０１１３】
上記暗号化方式のバージョンがサポートされていると判断した場合（Ｙｅｓ）、アンパッケージャは、ダウンロードされたアプリケーションデータを、上記バージョンに応じた方式で復号する（ステップ１２４）。
【０１１４】
続いてアンパッケージャは、上記復号されたアプリケーションデータが正しく復号されているかを、上記復号判定情報１１１を基に判定する（ステップ１２４）。
【０１１５】
上記暗号化方式のバージョンがサポートされていないと判断した場合（ステップ１２３のＮｏ）及び上記復号されたアプリケーションデータが正しく復号されなかったと判断した場合（ステップ１２５のＮｏ）、アンパッケージャは、表示部１６にエラーを表示して終了する（ステップ１０６）。
【０１１６】
以上説明したように、本実施形態によれば、ＣＥ機器１００は、付加データ領域４３に記憶された復号判定情報を参照することで、復号したアプリケーションデータが正しく復号できたか否かを判定することができる。
【０１１７】
＜第６の実施形態＞
次に、本技術の第６の実施形態を説明する。
【０１１８】
図１３は、本実施形態においてＣＥ機器１００にインストール可能なアプリケーションデータのファイルフォーマットを示した図である。
【０１１９】
一般的には、アプリケーションデータのデータ領域は、プログラム（実体）領域とリソース領域（イメージデータや文字列データ）とを有している。このうちリソース領域は、特にイメージデータ等を有していることから、プログラム領域に比べて容量が大きくなるのが通常であり、その暗号化及び復号処理にも大きな演算量が必要となる。
【０１２０】
そこで、同図に示すように、本実施形態では、アプリケーションデータのデータ領域４６のうち、プログラム領域１３２、ヘッダ領域１３１、パリティ／電子署名／付加情報領域１３４はＡＥＳ等によって暗号化されるが、容量の大きいリソース領域１３３は暗号化されずに提供されている。
【０１２１】
しかし、リソース領域１３３は、ＸＯＲ等の強度の低い暗号化方式で暗号化されていても構わない。
【０１２２】
このような暗号化手法も、部分毎に強度の異なる暗号化方式による暗号化処理であるから、上述の第３の実施形態において説明した斑暗号処理の一種といえる。したがって上述の第３の実施形態と同様に、本実施形態における付加データ領域４３の一部の領域には、上記斑暗号処理のバージョンを示す斑暗合バージョン情報７１が記されている。
【０１２３】
図１４は、本実施形態におけるＣＥ機器１００によるアプリケーションデータの復号処理の流れを示したフローチャートである。
【０１２４】
同図に示すように、まず、ＣＥ機器１００のダウンローダは、上記第１乃至第５の実施形態と同様に、アプリケーションデータをダウンロードし、アンパッケージャは、ファイル名からそのインストール可否を判断する（ステップ１４１）。
【０１２５】
続いてアンパッケージャは、上記付加データ領域４３から、斑暗号バージョン情報７１を読み込む（ステップ１４２）。
【０１２６】
続いてアンパッケージャは、上記斑暗号バージョン情報７１を基に、自身がそれに記述された指定バージョンによる斑暗号の復号処理に対応しているか否かを判断する（ステップ１４３）。
【０１２７】
上記バージョンの斑暗号の復号処理に対応していると判断した場合（Ｙｅｓ）、アンパッケージャは、まず、データ領域４６のうち、ヘッダ領域を、上記指定バージョンの復号方式で復号する（ステップ１４４）。
【０１２８】
続いてアンパッケージャは、データ領域４６のうちプログラム領域を、上記指定バージョンの復号方式で復号する（ステップ１４６）。
【０１２９】
続いてアンパッケージャは、データ領域４６のうち、パリティ領域、電子署名領域及び付加情報領域を、上記指定バージョンの復号方式で復号する（ステップ１４８）。
【０１３０】
上記バージョンの斑暗号の復号処理に対応していないと判断した場合（ステップ１４３のＮｏ）及び上記データ領域４６うちいずれかの領域が正しく復号できなかった場合（ステップ１５５、１５７、１５９のＮｏ）、アンパッケージャは、表示部１６にエラーを表示して終了する（ステップ１５０）。
【０１３１】
以上説明したように、本実施形態によれば、アプリケーションデータのうち、容量のリソース領域が暗号化されていないため、ＣＥ機器１００は、復号処理に要する時間をさらに短縮することができる。
【０１３２】
＜第７の実施形態＞
次に、本技術の第７の実施形態を説明する。
【０１３３】
図１５は、本実施形態においてサーバ２００によって提供されるアプリケーションデータのうち、ＣＥ機器１００にインストール可能なアプリケーションデータの暗号化方式を示した図である。
【０１３４】
同図に示すように、本実施形態では、上述の第１実施形態で説明した手法と異なり、元のアプリケーションデータのapkファイルは、ＡＥＳ暗号化方式による共通鍵と、外部から引数として与えられるユニークコードとがＥＸＯＲ演算された値によって暗号化されている。
【０１３５】
ここでユニークコードとは、ＣＥ機器１００の種類または仕様（バージョン）に応じた識別情報である。例えばデジタルスチルカメラとＢＤレコーダのようにＣＥ機器１００の種類が異なれば、異なるユニークコードが割り当てられてもよい。また例えばデジタルスチルカメラのうち、一眼レフカメラとそうでないカメラとで異なるユニークコードが割り当てられてもよい。当該ユニークコードは、各ＣＥ機器１００のＲＯＭ１２または記憶部１８等に記憶されている。各ＣＥ機器１００は、少なくとも１つのユニークコードを記憶するものとする。
【０１３６】
また、上記ＡＥＳ暗号に用いられた共通鍵は、上述の各実施形態と同様に、ＲＳＡの秘密鍵によって暗号化され、上記ＡＥＳ共通鍵及びユニークコードで暗号化されたapkファイルと共に「pkg」等の所定の拡張子を有するファイルとしてパッケージ化される。
【０１３７】
このユニークコードがアプリケーションデータの暗号化に用いられることで、開発者は、ＣＥ機器１００の機種や仕様に応じてアプリケーションデータを提供することができる。図１６及び図１７は、当該ＣＥ機器１００の機種または仕様に応じたアプリケーションデータの提供例を示した図である。
【０１３８】
図１６に示すように、ＣＥ機器１００に組み込まれているユニークコードに応じて、インストール可能なアプリケーションが設定されてもよい。同図の例では、アプリケーション１及び２は同一のユニークコードＡで暗号化されており、ＣＥ機器１及び３はユニークコードＡを有していることから、ＣＥ機器１及び３はアプリケーション１及び２をインストール可能である。またＣＥ機器３は２つのユニークコードＡ及びＢを有していることから、それのいずれによって暗号化されたアプリケーション（１〜３）もインストール可能である。
【０１３９】
図１７に示すように、実現可能な機能が異なる複数のアプリケーションと、ＣＥ機器１００のパフォーマンスに応じて、ＣＥ機器１００がインストール可能なアプリケーションが設定されてもよい。この場合、アプリケーションデータは、その機能の高さに応じて異なるユニークコードで暗号化され、一方ＣＥ機器１００は、そのパフォーマンスに応じて、異なる数のユニークコードを有している。
【０１４０】
例えば、ＣＥ機器１は、比較的パフォーマンスが低いため、最低限のユニークコードＡを有し、ＣＥ機器２は、平均的なパフォーマンスを有するため、ユニークコードＡに加えてユニークコードＢを有し、ＣＥ機器３は、高いパフォーマンスを有するため、ユニークコードＡ，Ｂに加えてユニークコードＣを有している。
【０１４１】
この場合、軽量版（例えば、リソースの画素数が低い、または機能が限定的である）のアプリケーションはユニークコードＡで、通常版のアプリケーションはユニークコードＢで、高機能版（高画素数、多機能）のアプリケーションはユニークコードＣで暗号化される。
【０１４２】
これにより、高いパフォーマンスを有するＣＥ機器３は、上記全てのバージョンのアプリケーションをインストール可能であるが、パフォーマンスの低いＣＥ機器１は、軽量版のアプリケーションのみがインストール可能とされる。
【０１４３】
図１８は、本実施形態におけるＣＥ機器１００によるアプリケーションデータの復号処理の流れを示したフローチャートである。
【０１４４】
同図に示すように、まず、ＣＥ機器１００のダウンローダは、上記第１乃至第６の実施形態と同様に、アプリケーションデータをダウンロードし、アンパッケージャは、ファイル名からそのインストール可否を判断する（ステップ１８１）。
【０１４５】
続いてアンパッケージャは、復号処理に用いるユニークコードを設定する（ステップ１８２）。ＣＥ機器１００が有するユニークコードが１つのみの場合には、そのユニークコードが自動的に設定される。
【０１４６】
続いてアンパッケージャは、上記設定されたユニークコードを用いてアプリケーションデータが復号可能か否か、すなわち、アプリケーションデータに用いられたユニークコードと、上記設定されたユニークコードとが同一か否かを判断する（ステップ１８３）。
【０１４７】
上記設定されたユニークコードによりアプリケーションデータが復号できないと判断した場合（Ｎｏ）、アンパッケージャは、次のユニークコードがあるか否かを判断し（ステップ１８４）、あれば（Ｙｅｓ）、そのユニークコードを設定する（ステップ１８２）。アンパッケージャは、このユニークコードの設定処理を、アプリケーションデータを復号可能なユニークコードが見つかるまで繰り返す。
【０１４８】
上記設定されたユニークコードによりアプリケーションデータが復号可能であると判断した場合（ステップ１８３のＹｅｓ）、アンパッケージャは、アプリケーションデータが上記斑暗号処理により暗号されているか否かを判断する（ステップ１８５）。
【０１４９】
アプリケーションデータが斑暗号処理で暗号化されていないと判断した場合（Ｎｏ）、アンパッケージャは、上記付加データ領域４３で指定されたバージョンの復号方式で、アプリケーションデータを復号する（ステップ１８８）。
【０１５０】
アプリケーションデータが斑暗号処理で暗号化されていると判断した場合（ステップ１８５のＹｅｓ）、アンパッケージャは、最初の暗号化部分を参照し、その部分が簡易暗号化方式（強度の低い暗号化方式）で暗号化された部分か否かを判断する（ステップ１８６）。
【０１５１】
上記部分が簡易暗号化方式で暗号化されていると判断した場合（Ｙｅｓ）、アンパッケージャは、それに応じたバージョンの簡易復号方式で上記部分を復号する（ステップ１８７）。
【０１５２】
一方、上記部分が簡易暗号化方式で暗号化されていないと判断した場合（ステップ１８６のＮｏ）、アンパッケージャは、それに応じたバージョンの通常の（簡易でない）復号方式で上記部分を復号する（ステップ１８８）。
【０１５３】
アンパッケージャは、上記ステップ１８６〜１８８の処理を、斑暗号処理によって暗号化された全ての部分の復号処理が完了するまで繰り返す（ステップ１９０）。
【０１５４】
上記ステップ１８４において設定可能なユニークコードが無いと判断した場合及び上記アプリケーションデータ（または各部分）が正しく復号できなかった場合（ステップ１８９のＮｏ）、アンパッケージャは、表示部１６にエラーを表示して終了する（ステップ１９１）。
【０１５５】
以上説明したように、本実施形態によれば、アプリケーションデータの暗号化にユニークコードが用いられる。これにより、アプリケーションの機能及びＣＥ機器１００のパフォーマンスに応じたアプリケーションデータの提供が可能となる。
【０１５６】
また、ユニークコードによって、ＡＥＳ暗号化方式で暗号化されるapkファイルの共通鍵が可変され得るため、不正なインストール処理が防止される可能性が高まる。さらに、同種または同仕様のＣＥ機器１００に同一のユニークコードが割り当てられることで、万が一、ＣＥ機器１００に対するハッキング等によりアプリケーションデータが外部に漏洩した場合でも、他の機種または他の仕様を有するＣＥ機器では当該アプリケーションデータが復号できないため、当該漏洩による被害が最小限に抑えられる。
【０１５７】
［変形例］
本技術は上述の実施形態にのみ限定されるものではなく、本技術の要旨を逸脱しない範囲内において種々変更され得る。
【０１５８】
（変形例１）
上述の各実施形態において、アプリケーションデータは暗号化されていたが、可逆的なアルゴリズムにより符号化されていれば、暗号化されてなくてもよい。例えばアプリケーションデータは、所定の圧縮方式で圧縮されたものであってもよい。
【０１５９】
（変形例２）
上述の第１〜第７の実施形態は、矛盾が生じない限りそれぞれ如何様にも組み合わされて実施されうる。
【０１６０】
（変形例３）
本技術におけるアプリケーションデータの暗号化方式は、上述の第１〜第７の実施形態で示されたものに限られず、他の様々な暗号化方式が自由に組み合わされてもよい。またアプリケーションデータのファイルフォーマットも、上述の各実施形態で説明されたものに限られない。
【０１６１】
（変形例４）
上述の第７の実施形態では、ユニークコードは、各ＣＥ機器１００のＲＯＭ１２または記憶部１８等に記憶されており、そこから読み出されて復号処理に用いられた。しかし、ユニークコードは、アプリケーションを提供するサーバ２００や、それとは異なるサーバに記憶されていてもよい。そしてＣＥ機器１００は、それらのサーバとの間で、付加データ領域４３に記載された商品名や商品番号等の固有のＩＤを用いて認証を行うことで、ＣＥ機器１００のユニークコードをダウンロードしてもよい。またダウンロードされたユニークコードは、記録部１８などに保存されてもよく、またその後の上記サーバとの通信により、アップデートされてもよい。
【０１６２】
（変形例５）
上述の第３及び第６の各実施形態においては、強度の異なる暗号化方式により、アプリケーションのデータ領域４６が斑暗号処理される例が示された。この斑暗号処理としては、上述した以外にも様々な態様が考えられる。例えば、アプリケーションデータがディレクトリ構造を有している場合には、ディレクトリのフォルダ毎に、斑暗号処理の仕様（暗号化される各部分のデータ長、部分の数、各部分に適用される暗号化方式等）が異なっていてもよい。
【０１６３】
（変形例６）
上述の第１の実施形態における図１では、アプリケーションを提供するサーバ２００がインターネット上に設けられる例が示された。しかし、アプリケーションを提供するサーバは、ＣＥ機器１００で構成されたホームネットワーク（ＬＡＮ）上に設けられてもよい。また、アプリケーション提供用のサーバが設けられずとも、例えばホームネットワーク内の複数のＣＥ機器の１つが当該サーバとしての機能を担ってもよい。すなわち、当該サーバとして機能するＣＥ機器（サーバＣＥ機器）を制御するソフトウェアをそれ以外のＣＥ機器（制御ＣＥ機器）が備えており、ユーザがその制御ＣＥ機器を操作することで、制御ＣＥ機器がサーバＣＥ機器からアプリケーションをダウンロードしてもよい。
【０１６４】
［その他］
本技術は以下のような構成も採ることができる。
（１）
所定の方式で符号化された第１のアプリケーションデータと、他の方式で符号化された、または、符号化されていない第２のアプリケーションデータとが共に提供されるネットワーク上のサービスから、任意のアプリケーションデータをダウンロード可能な通信部と、
前記第１のアプリケーションデータを復号するための復号情報を記憶する記憶部と、
前記第１のアプリケーションデータを、前記復号情報を用いて復号してインストールすることが可能な制御部と
を具備する情報処理装置。
（２）
上記（１）に記載の情報処理装置であって、
前記第１のアプリケーションデータは、所定の拡張子を含むファイル名を有し、
前記記憶部は、前記所定の拡張子を示す拡張子情報を記憶し、
前記制御部は、前記復号前に、前記拡張子情報と、前記ダウンロードされたアプリケーションデータの拡張子とを比較して、当該アプリケーションデータのインストールの可否を判断する
情報処理装置。
（３）
上記（１）または（２）に記載の情報処理装置であって、
前記第１のアプリケーションデータは、第１の暗号化方式で暗号化された第１の部分と、前記第１の暗号化方式とは異なる第２の暗号化方式で暗号化された、または暗号化されていない第２の部分とを有し、
前記記憶部は、前記復号情報として、前記第１の暗号化方式に対応した第１の復号鍵と、前記第２の暗号化方式に対応した第２の復号鍵とを記憶し、
前記制御部は、前記第１の復号鍵により前記暗号化された第１の部分を復号し、前記第２の復号鍵により前記暗号化された第２の部分を復号することが可能である
情報処理装置。
（５）
上記（３）または（４）に記載の情報処理装置であって、
前記第１の部分はプログラム領域であり、前記第２の部分はリソース領域である
情報処理装置。
（６）
上記（３）〜（５）のいずれかに記載の情報処理装置であって、
前記第１のアプリケーションデータは、前記第１の部分と前記第２の部分の構造を示す構造情報を記した付加データ領域を有し、
前記制御部は、前記構造情報に従って前記第１の部分と前記第２の部分とを復号可能である
情報処理装置。
（７）
上記（１）〜（６）のいずれかに記載の情報処理装置であって、
前記第１のアプリケーションデータは、前記第１のアプリケーションデータの仕様を示す仕様情報を記した付加データ領域を有し、
前記制御部は、前記復号前に、前記付加データ領域に記された仕様情報を基に前記第１のアプリケーションデータのインストールの可否を判断可能である
情報処理装置。
（８）
上記（１）〜（７）のいずれかに記載の情報処理装置であって、
前記第１のアプリケーションデータは、情報処理装置の仕様によって異なる複数のバージョンのアプリケーションデータが１つのデータとして符号化されたものであり、かつ、情報処理装置の仕様と、インストール可能なアプリケーションデータのバージョンとの関係を示す仕様情報が記された付加データ領域を有し、
前記制御部は、前記復号前に、前記付加データ領域に記された仕様情報を基に、前記異なる複数のバージョンのアプリケーションデータから、インストールすべきアプリケーションデータを選択可能である
情報処理装置。
（９）
上記（１）〜（８）のいずれかに記載の情報処理装置であって、
前記第１のアプリケーションデータは、前記第１のアプリケーションデータが正しく復号されたか否かを判定するための判定情報が記された付加データ領域を有し、
前記制御部は、前記第１のアプリケーションデータの復号後、前記インストール前に、前記付加データ領域に記された判定情報を元に、当該第１のアプリケーションデータが正しく復号されたか否かを判定可能である
情報処理装置。
（１０）
上記（１）〜（９）のいずれかに記載の情報処理装置であって、
前記第１のアプリケーションデータは、所定の暗号鍵と、情報処理装置の種類または仕様に応じたユニークコードとで暗号化されており、
前記記憶部は、前記暗号鍵と、当該情報処理装置の種類または仕様に応じたユニークコードを記憶し、
前記制御部は、前記記憶された暗号鍵及びユニークコードを用いて前記第１のアプリケーションデータを復号可能である
情報処理装置。
（１１）
上記（１）〜（１０）のいずれかに記載の情報処理装置であって、
当該情報処理装置はスマートフォン以外の装置である
情報処理装置。
（１２）
上記（１）〜（１１）のいずれかに記載の情報処理装置であって、
当該情報処理装置はカメラである
情報処理装置。
【符号の説明】
【０１６５】
１１…ＣＰＵ
１３…ＲＡＭ
１８…記憶部
１９…通信部
４３…付加データ領域
４６…データ領域
５０…インターネット
７１…斑暗合バージョン情報
９２…機器バージョン情報
１００…ＣＥ機器
１１１…復号判定情報
１３２…プログラム領域
１３３…リソース領域
２００…サーバ
【図１】
2014048811.tif 000003
【図２】
2014048811.tif 000004
【図３】
2014048811.tif 000005
【図４】
2014048811.tif 000006
【図５】
2014048811.tif 000007
【図６】
2014048811.tif 000008
【図７】
2014048811.tif 000009
【図８】
2014048811.tif 000010
【図９】
2014048811.tif 000011
【図１０】
2014048811.tif 000012
【図１１】
2014048811.tif 000013
【図１２】
2014048811.tif 000014
【図１３】
2014048811.tif 000015
【図１４】
2014048811.tif 000016
【図１５】
2014048811.tif 000017
【図１６】
2014048811.tif 000018
【図１７】
2014048811.tif 000019
【図１８】
2014048811.tif 000020