説明

情報処理装置、インストールシステム、情報処理方法及びインストール方法

【課題】インストール操作者のインストール作業を簡略化すると共に、インストール対象のアプリケーションに対するパラメーターに設定する値の範囲等の第三者による改竄を防止することを目的とする。
【解決手段】アプリケーションデータに含まれる定義情報の正当性を確認する確認手段と、確認手段で定義情報の正当性が確認された場合、定義情報に応じて、アプリケーションのインストール操作者がパラメーターに値を設定するための画面を表示する表示手段と、画面を介してパラメーターに値が設定されると、定義情報に基づいてパラメーターの値の有効性を確認する有効性確認手段と、有効性確認手段でパラメーターの値の有効性が確認された場合、アプリケーションデータと、パラメーターの値と、を送信する送信手段と、を有することによって課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、インストールシステム、情報処理方法及びインストール方法に関する。
【背景技術】
【0002】
従来のアプリケーションプログラムに係わる設定値の検証には、アプリケーションUIの設定情報を予め情報処理装置の記憶装置に記憶し、情報処理装置が設定情報とユーザーによるUI変更操作の結果の設定情報とを比較、検査している(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−205353号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
MFP上で動くアプリケーションをインストールする場合、アプリケーション独自の設定(ネットワーク設定、アプリケーションパラメーターの設定等)を予め施した上でインストールしたいという要望がある。このような場合、インストール操作者等がアプリケーションの設定ファイルを別途用意し、アプリケーションと同時にインストールする、といった手法が考えられる。しかしながら、このような方法の場合、設定ファイルの記述等の取り決めがないと設定ファイルのフォーマットはアプリケーション毎に異なることになってしまう。また、設定値の設定方法についても同様に、一般的にはアプリケーション毎に異なることになり、複数種類のアプリケーションをインストールするインストール操作者にとっては統一感がなく分かりにくくなってしまう。またアプリケーションの設定値は、その値によりアプリケーションの挙動を左右するため、設定値の範囲や種類等、第三者に改竄されないようにしなければならない。
【0005】
本発明はこのような問題点に鑑みなされたもので、インストール操作者のインストール作業を簡略化すると共に、インストール対象のアプリケーションに対するパラメーターに設定する値の範囲等の第三者による改竄を防止することを目的とする。
【課題を解決するための手段】
【0006】
そこで、本発明の情報処理装置は、パラメーターの値の定義情報付きのアプリケーションのパラメーターと、前記パラメーターの値に応じて挙動を変更可能な、画像処理装置上で動作する暗号化されたアプリケーションと、を含むアプリケーションデータが登録されると、前記アプリケーションデータに含まれる前記定義情報の正当性を確認する確認手段と、前記確認手段で前記定義情報の正当性が確認された場合、前記定義情報に応じて、前記アプリケーションのインストール操作者が前記パラメーターに値を設定するための画面を表示する表示手段と、前記画面を介して前記パラメーターに値が設定されると、前記定義情報に基づいて前記パラメーターの値の有効性を確認する有効性確認手段と、前記有効性確認手段で前記パラメーターの値の有効性が確認された場合、前記アプリケーションデータと、前記パラメーターの値と、を送信する送信手段と、を有する。
【発明の効果】
【0007】
本発明によれば、インストール操作者のインストール作業を簡略化すると共に、インストール対象のアプリケーションに対するパラメーターに設定する値の範囲等の第三者による改竄を防止することができる。
【図面の簡単な説明】
【0008】
【図1】インストールシステムのシステム構成の一例を示す図である。
【図2】PCのハードウェア構成の一例を示す図である。
【図3】MFPのハードウェア構成の一例を示す図である。
【図4】MFPのソフトウェア構成の一例を示す図である。
【図5】MFPアプリケーションのフォーマットの一例を示す図である。
【図6】PC上で動作する、MFPアプリケーションインストーラーによる処理の一例を示すフローチャートである。
【図7】第二のEULA及び各種設定パラメーター部における各種設定パラメータースキーマの一例を示す図である。
【図8】設定ファイルの一例を示す図である。
【図9】MFP上で動作する、インストーラーによる処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について図面に基づいて説明する。
【0010】
(実施形態1)
<システム構成図>
図1は、インストールシステムのシステム構成の一例を示す図である。
MFP(MultiFunction Printer)101は、複写機、プリンター、イメージスキャナー、FAX等の機能を有する。PC(Personal Computer)102は、汎用的なオペレーティングシステムが動作し、ネットワークインターフェースやブラウザーアプリケーションを含む。ここで、MFPは、画像処理装置の一例である。
ネットワーク104は、MFP101とPC102とをTCP/IPプロトコル等で相互に接続する。
MFPアプリケーション103は、MFP101上で動作するアプリケーションであり、アプリケーション配布元がDSAアルゴリズムにより電子署名し、AESアルゴリズムにより暗号化を施しているものである。MFPアプリケーション103をMFP101にインストールするユーザー(インストール操作者)は、PC102上で動作するMFPアプリケーションインストーラーにMFPアプリケーション103を登録する。登録の後、ユーザーは、MFPアプリケーションインストーラーを用いてMFPアプリケーション103のEULA(End User License Agreement)を確認する。ここで、EULAは、MFPアプリケーション103の使用許諾契約情報の一例である。MFPアプリケーションインストーラーは、MFPアプリケーション103に初期値を設定の後、MFPアプリケーション103を、ネットワーク104を介してMFP101に送信する。なお、これらの処理の詳細は後述する。
【0011】
<PC102のハードウェア概略構成>
図2は、PC102のハードウェア構成の一例を示す図である。
MFPアプリケーションインストーラーはPC102上で動作するアプリケーションである。
表示装置801は、MFPアプリケーションインストーラーに関する例えばウインドウ、アイコン、メッセージ、メニューその他のユーザーインターフェース情報を表示する。VRAM802は、表示装置801に表示するための画像データを記憶する。
VRAM802に記憶された画像データは、所定の規定に従って表示装置801に転送され、これにより表示装置801に画像が表示される。CDD(コンパクトディスクドライブ)803は、CD−ROMや、CD−R等の記録メディアとの間で各種制御プログラムやデータの読み書きを行う装置である。CDD803は、DVDドライブであってもよい。MFPアプリケーションインストーラーのプログラムは、予めHDD809に記憶されていてもよいし、CDD803からインストールされてもよい。
キーボード804は、文字入力を行うための各種キーを有する。PD(ポインティングデバイス)805は、例えば、MFPアプリケーションインストーラーに関する、表示装置801の表示画面上に表示されたアイコン、メニューその他のオブジェクトを指示するために使用される。CPU806は、ROM807、HDD(ハードディスクドライブ)809、FDD(フレキシブルディスクドライブ)810及びCDD803に格納された制御プログラムに基づいてCPUデバイスに接続された各デバイスを制御する。CPU806が、プログラムに基づいて処理を実行することにより、PC102の機能(ソフトウェア)及び、後述するPC102におけるフローチャートに係る処理が実現される。なお、以下では、説明の簡略化のため、MFPアプリケーションインストーラーがフローチャートに係る処理を実行するものとして説明を行う。
ROM(リードオンリメモリ)807は、各種の制御プログラムやデータを保持する。RAM(ランダムアクセスメモリ)808は、CPU806のワーク領域、エラー処理時のデータの退避領域、制御プログラムのロード領域等を有する。
HDD809は、各種制御プログラムや各種データを保存する。NET I/F811は、ネットワークインターフェースである。PC102は、NET I/F811を介して他の情報処理装置やプリンター等とネットワーク813を介して通信を行うことができる。MFPアプリケーションインストーラーは、MFP101とNET I/F811及びネットワーク813を介して通信し、MFPアプリケーションをインストールする。 CPUバス812は、アドレスバス、データバス及びコントロールバスを含む。CPU806に対する制御プログラムの提供は、ROM807、HDD809、FDD810、CDD803から行うこともできるし、ネットワーク813を介して他の情報処理装置等から行うこともできる。
【0012】
<MFP101のハードウェア概略構成>
図3は、MFP101のハードウェア構成の一例を示す図である。
MFP101は、画像処理ユニット901及び印刷ユニット902から構成される。画像処理ユニット901は、CPU903、直接記憶部904、間接記憶部905、ユーザーインターフェース907、外部インターフェース908から構成されている。
画像処理ユニット901のCPU903が間接記憶部905に記憶されているプログラムを実行することによって、後述する図4のソフトウェアコンポーネントの、202、204、206、207、208、209、214、215が実現される。また、印刷ユニット902のCPUが印刷ユニットの記憶部に記憶されているプログラムを実行することによって、後述する図4のソフトウェアコンポーネントの203、205が実現される。
CPU903は、所定のプログラムを実行し、MFP101の各種制御を指示するユニットである。直接記憶部904は、CPU903がプログラムを実行する際に使用するワークメモリであり、CPU903が実行するプログラムは、直接記憶部904にロードされる。直接記憶部904は、RAM(Random Access Memory)により実現される。間接記憶部905は、アプリケーションプログラム、及びプラットフォームプログラムを含む各種プログラムが記憶されている。間接記憶部905に記憶されている各種プログラムは、CPU903がプログラムを実行する際に直接記憶部904へ移動する。間接記憶部905は、SSD(Solid State Drive)、又は、HDD(Hard Disc Drive)により実現される。なお、CPU903はマルチプロセッサでもよい。
【0013】
ここで、プラットフォームについて詳細に説明する。プラットフォームの実現により、ユーザーが独自に開発した新しいアプリケーションをMFP101上で実行できる他、MFP101の操作画面をカスタマイズすることが可能になる。
プラットフォームの実現方法について説明する。CPU903は、間接記憶部905に記憶されたプラットフォームプログラムを直接記憶部904に移動する。移動が完了するとCPU903は、プラットフォームプログラムを実行することができる状態になる。本実施形態では、CPU903がプラットフォームプログラムを実行することを、プラットフォームが起動すると称する。なお、プラットフォームは、MFP101のファームウェア上で動作することになる。プラットフォームプログラムは、オブジェクト指向で記述されたアプリケーションプログラムを実行するための環境を提供するものである。
プラットフォーム上でアプリケーションプログラムを実行する方法について詳細に説明する。本実施形態において、プラットフォーム上には、印刷要求を受け付ける印刷ソフトウェアが動作している。印刷ソフトウェアは、ネットワークを介して接続されているデバイスから、例えば、HTTP(Hyper Text Transfer Protocol)と言った通信プロトコルによって印刷データを受信できる。印刷ソフトウェアは、受信した印刷データをファームウェアに送信し、印刷データを受信したファームウェアは印刷データ処理を開始する。なお、印刷データが処理をせずに印刷できるようなものであれば、ファームウェアは印刷データ処理を省く。このように、プラットフォームでアプリケーションプログラムを実行することによって、MFP101の制御を実現することができる。
【0014】
アプリケーションプログラムの実行方法について説明する。起動したプラットフォームは、間接記憶部905に記憶されたアプリケーションプログラムを直接記憶部904に移動する。移動が完了すると、プラットフォームはアプリケーションプログラムを実行することができる状態になる。そして、プラットフォームはアプリケーションプログラムを実行する。このように、アプリケーションプログラムを実行することで提供できるプラットフォームの機能を、本実施形態ではプラットフォームアプリケーションと呼ぶ。更に、プラットフォームは、本実施形態で開示するフローチャートの各処理の一部を行うことが可能である。
MFP101上のインストーラーも、アプリケーションプログラムの一部として動作する。MFP101上のインストーラーは、ネットワーク104を介してPC102とHTTPプロトコルを介して通信することができる。通信によりMFP101上のインストーラーは、MFPアプリケーション103をインストールすることができる。
ユーザーインターフェース907は、ユーザーからの処理依頼を受け付けるために必要なユニットである。例えば、ユーザーインターフェース907は、オペレーションパネルを介してユーザーが入力した指示に応じた信号を受け付ける。外部インターフェース908は、外部装置からのデータの受信や外部装置へのデータの送信を可能とする。例えば、外部装置としては、外付けHDDや外付けUSBメモリ等の外付け記憶装置、又はネットワークを介して接続された別体のホストコンピュータや画像形成装置等の別体装置が含まれる。MFP101は、ネットワーク104、或いはインターネットを介して、PC102等と通信可能である。
なお、MFP101のCPUが、MFP101の記憶装置等に記憶されているプログラムに基づき処理を実行することにより、MFP101の機能(ソフトウェア)及び、後述するMFP101におけるフローチャートに係る処理が実現される。なお、以下では、説明の簡略化のため、インストーラー(MFP101上のインストーラー)がフローチャートに係る処理を実行するものとして説明を行う。
【0015】
<MFP101のソフトウェア概略構成>
図4は、MFP101のソフトウェア構成の一例を示す図である。
スキャナー(Scan)機能部202は、紙文書を読み取り二値画像データに変換する。プリント(Print)機能部203は、先にスキャナー機能部202により読み取られ、二値画像データに変換された画像を、プリンターに対するコマンドを付加してプリンタデバイスに出力する。また、ファクシミリ(FAX)機能部204は、先にスキャナー機能部202により読み取られ、二値画像データに変換された画像を、G3、G4等のファクシミリ規格に応じた符号化を行う。また、ファクシミリ機能部204は、ファクシミリ規格応じたプロトコルにより外部ファクシミリと画像通信を行う。また、ファクシミリ機能部204は、外部ファクシミリよりファクシミリ規格に応じてファクシミリ画像を送受信する。ジョブ制御機能部205は、スキャナー機能部202から受信した二値画像データや、ファクシミリ機能部204が外部から受信したファクシミリ画像データをプリントジョブとしてキューイングする。ジョブ制御機能部205は、プリントジョブを順次、プリント機能部203やファクシミリ機能部204、後述するネットワーク機能部206に対して適宜、出力する。ネットワーク機能部206は、TCP/IP、HTTP、FTP、LDAP、SNMP、SMTP、SSL等の各種ネットワークプロトコルを用いて他の装置等と通信を行う。
ユーザーインターフェース(UI)機能部207は、MFP101のオペレーションパネルのユーザーによる入出力を管理し、オペレーションパネル上に入力フィールド、出力メッセージフィールド等を表示する。また、ユーザーインターフェース機能部207は、ユーザーからの入力フィールドに対する入力値を受け取り、他機能部に通知し、また他機能部からのユーザーに対するメッセージを予めデザインされた画面に表示する。ユーザー認証機能部208は、ユーザーインターフェース機能部207やネットワーク上の情報端末を利用してアプリケーション機能部209内の各種アプリケーションのユーザー認証要求に対応する。即ち、ユーザー認証機能部208は、各種ユーザー認証機能についてユーザー認証設定ファイルを用いてアプリケーション毎に設定する。また、ユーザー認証機能部208は、ネットワーク上のユーザー認証サーバーやMFP内部のユーザー認証情報を用いてMFPの各種機能を操作するユーザーを認証する。
【0016】
アプリケーション機能部209は、MFP101上で動作する各種アプリケーションをインストール、ユーザー認証、実行、アンインストールする。また、アプリケーション機能部209は、アプリケーションインストール時にアプリケーションの有効期限を設定する。そして、アプリケーション機能部209は、アプリケーション実行時に後述する時間管理機能部214の機能を利用してアプリケーションインストール時に予め設定された有効期限を判定することにより、有効期限付きアプリケーションを実現する。アプリケーション機能部209は、アプリケーションオブジェクト内部に有効期限情報を格納してもよいし、或いはアプリケーションインストール時にアプリケーションの付加情報として別オブジェクトとして設定してもよい。有効期限情報は、インストール時からアプリケーションが動作しなくなるまでの日数で示される。なお、有効期限情報は、本実施形態のような有効期間を示す日数でもよいし、或いは何年何月何日まで、といった有効期限日であってもよい。有効期限日であった場合も、アプリケーション機能部209等が、MFP101内部のシステム時計から有効期間を示す日数を計算する。また、有効期限情報は、日数より更に細かい単位、例えば秒単位であってもよい。これも、アプリケーション機能部209等が、システム内部時計の単位の範囲であれば、有効期限を計算することは可能である。有効期限情報は、アプリケーションインストール時に後述するインストール時刻設定関数に引数として渡され、MFP101内の不揮発性記憶領域に記憶される。
MFP101上のアプリケーションのうち、アプリケーション本体が既にインストールされているものは、アプリケーション機能部209は、ライセンスキーのみのインストールにより機能を有効化することができる。
MFP101上でアプリケーションを使用するためには、アプリケーションのインストール後、有効化の手順が必要である。アプリケーション有効化のためには、通常、ユーザーインターフェース機能部207から入力されるライセンスキーが用いられる。ライセンスキーは、機能種別、有効化する機器IDを含む。なお、ライセンスキーの入力は、ネットワーク機能部206を用いてネットワーク経由で行われてもよい。
アプリケーションの有効化は、MFP101にライセンスキーが入力されることで実行される。実際には、アプリケーション機能部209が、各アプリケーションに対応した、MFP内部の不揮発性記憶領域に存在するライセンスビットをオンにする。
同様に、アプリケーション機能部209は、上記ライセンスビットをオフにすることにより、該当するアプリケーションを無効化することができる。
【0017】
Mailアプリケーション210は、アプリケーション機能部上で動作するMFP101のアプリケーションの一つである。Mailアプリケーション210は、ネットワーク上の情報端末から送信される電子文書を添付された電子メールを、ネットワーク機能部206を用いて受信し、プリント機能部を用いて印刷する。また、Mailアプリケーション210は、スキャナー機能部202を用いて読み取られた電子文書を電子メールに添付し、予め設定された転送先に電子文書を添付された電子メールを送信する。遠隔操作アプリケーション211は、アプリケーション機能部上で動作するMFP101のアプリケーションの一つである。遠隔操作アプリケーション211は、ネットワーク上の情報端末に、ユーザーインターフェース機能部207を用いてMF101P本体に表示する本体タッチパネルと同じインターフェースを表示して、遠隔で操作を可能にする。文書フォーマット変換アプリケーション212は、アプリケーション機能部上で動作するMFP101のアプリケーションの一つである。文書フォーマット変換アプリケーション212は、電子データを、予め設定された電子データフォーマットに変換する。より具体的説明すると、操作者によりスキャナー機能部202を用いて読み取られた電子データや、ネットワーク上の情報端末から送信されネットワーク機能部206を用いて受信された電子データが変換対象となる。文書管理システムアプリケーション213は、アプリケーション機能部上で動作するMFP101のアプリケーションの一つである。文書管理システムアプリケーション213は、ネットワーク上やMFP101本体内の予め設定された文書保管場所に電子データを格納する。より具体的説明すると、操作者による本体操作によりスキャナー機能部202を用いて読み取られた電子データや、ネットワーク上の情報端末から送信されネットワーク機能部206を用いて受信された電子データが格納対象となる。
Mailアプリケーション210、遠隔操作アプリケーション211、文書フォーマット変換アプリケーション212、文書管理システムアプリケーション213は、ユーザー認証を行うことができる。何れも操作者がアプリケーションを使用する際に、アプリケーション機能部209を通してユーザー認証機能部208を用いる。
【0018】
時間管理機能部214は、システム内蔵時計を持ち、MFP101の全機能モジュールに対し、時刻設定、参照可能なシステム内蔵時計インターフェースを提供する。また、時間管理機能部214は、後述するシステムスタート時からの累積設定差分時刻を所謂フラッシュROM等の不揮発性記憶領域に保持する。また、時間管理機能部214は、MFP101が接続するネットワーク上の時刻同期サービスによる時刻合わせ機能を持つ。時刻同期サービスとはTIMEプロトコル(RFC868)、NTPプロトコル(RFC1305)、SNTPプロトコル(RFC1769)等で規定されるプロトコルを用いた時刻同期サービスである。更に、時間管理機能部214は、有効期限付きアプリケーションの有効期限判定を行うために、後述するアプリケーションインストール時のインストール時刻設定機能を持つ。
暗号処理機能部215は、AES、RC4等の共通鍵暗号、RSA等の公開鍵暗号等の標準的な暗号アルゴリズムを有する。また、暗号処理機能部215は、SHA−224、SHA−256、SHA−384、SHA−512等の標準的なハッシュアルゴリズムを有する。また、暗号処理機能部215は、RSA署名、ElGamal署名、DSA署名等の標準的な電子署名アルゴリズムを有する。また、暗号処理機能部215は、各種電子署名の鍵生成、署名生成、署名検証機能を有し、更にX.509デジタル証明書処理機能を有する。
また、暗号処理機能部215は、機器内の各機能部から暗号関連処理機能を使用するためのAPI(アプリケーションプログラムインターフェース)を有する。後述するPCからMFPへの、電子署名、暗号化されたプログラムのインストールの際、アプリケーション機能部209は、暗号処理機能部215を用いて被インストールプログラムの復号化、署名検証を行う。
【0019】
<MFPアプリケーションフォーマット>
図5は、MFPアプリケーション103のフォーマットの一例を示す図である。
アプリケーションデータの一例であるMFPアプリケーションファイル301は、電子署名、暗号化された、署名暗号化プログラム本体部302を含む。署名暗号化プログラム本体部302は、第一の電子署名304を含む。また、署名暗号化プログラム本体部302は、ハッシュ値計算対象部303で、MFPプログラム本体部と第一のEULA及び各種設定パラメーター部を含む。
またMFPアプリケーションファイル301は、署名暗号化プログラム本体部302の第二のEULA及び各種設定パラメーター部305を含む。第二のEULA及び各種設定パラメーター部305は、パラメーターの値の定義情報付きのアプリケーションのパラメーターの一例である。第二のEULA及び各種設定パラメーター部305は、第一の電子署名に含まれるハッシュ値計算対象部303に含まれるEULA及び各種設定パラメーター部と同一内容である。また、MFPアプリケーションファイル301は、第二のEULA及び各種設定パラメーター部305をハッシュ対象としたX.509デジタル証明書形式の第二の電子署名306を含む。第二の電子署名306は、電子署名情報の一例である。
署名暗号化プログラム本体部302は、アプリケーション発行者によりAES暗号化された、MFPアプリケーションの本体部を含む。署名暗号化プログラム本体部302は、アプリケーション発行者がDSAアルゴリズムにより電子署名した第一の電子署名304を含む。第一の電子署名304は、MFPアプリケーション本体部、EULA及び各種設定パラメーター部をDSA署名アルゴリズムのハッシュ値計算対象とする。
第一の電子署名304は、ユーザー(インストール操作者)がPC102上のMFPアプリケーションインストーラーを用いてMFPアプリケーションファイル301をMFP101にインストールする際の検証に用いられる。第一の検証は、MFP101のアプリケーション機能部209が、暗号処理機能部215を用いて行う。第一の検証においては、インストール対象であるMFPアプリケーションファイル301が、正規のアプリケーション発行者により発行されたものであるかどうか、が検証される。
【0020】
第二の電子署名306は、インストール操作者がPC102上のMFPアプリケーションインストーラーへMFPアプリケーションファイル301を登録した際に、MFPアプリケーションインストーラーにより検証に用いられる。第二の検証では、インストール対象であるMFPアプリケーションファイル301のEULA及び各種設定パラメーター部が検証対象である。MFPアプリケーションインストーラーは、第二のEULA及び各種設定パラメーター部305が、正規のアプリケーション発行者により発行されたものであるかどうか、をMFP101にインストールする前にPC102上で事前検証する。
本実施形態のMFPアプリケーション103のインストールの際、インストール操作者は、インストール対象のMFP101にアクセスする前に、EULAの確認、アプリケーションの各種パラメーターの設定をすることができる。EULAの確認、アプリケーションパラメーターの設定は、インストール操作者がPC102にMFPアプリケーション103を登録した際に行う。MFPアプリケーション103が登録されると、MFPアプリケーションインストーラーは、EULA及び各種設定パラメーター部305の検証を、第二の電子署名306を用いて行う。第二の電子署名306による検証に成功することにより、インストール操作者は、EULA及び各種設定パラメーターが、MFPアプリケーション103の発行者により生成されたものと確認できる。
つまり、MFPアプリケーションインストーラーによる検証により、インストール操作者は、第三者によるMFPアプリケーション103の第二のEULA及び各種設定パラメーター部305の改竄を検知することができる。本実施形態のMFPアプリケーションは、インストール操作者がMFP101へのインストール前に事前にアプリケーションパラメーターに値を設定可能である。そのため本実施形態の処理によれば、第三者がEULA及びアプリケーションパラメーター部を改竄することにより、ユーザーが、意図しないEULAを確認することを防止することができる。また、本実施形態の処理によれば、アプリケーション発行者による意図しないアプリケーションパラメーターの設定、例えば想定を超える値の設定等、を防止できる。つまり、本実施形態の処理によれば、ユーザーが意図しないEULAの確認及びアプリケーションパラメーターの設定を、MFP101にMFPアプリケーション103をインストールする前に防止できる。
【0021】
<PC102上のMFPアプリケーションインストーラー>
図6は、PC102上で動作する、MFPアプリケーションインストーラーによる処理の一例を示すフローチャートである。
MFPアプリケーション103の発行者は、MFPアプリケーション103に第一、第二の電子署名を付与し、暗号化を行う。
MFPアプリケーションインストーラーには、予めX.509デジタル証明書形式の第二の電子署名306を検証するための、電子署名検証用公開鍵が埋め込まれている。
MFPアプリケーション103をMFP101にインストールしようとするインストール操作者は、PC102上のMFPアプリケーションインストーラーを使用する。
インストール操作者は、MFPアプリケーションインストーラーにインストール対象のMFPアプリケーション103を登録する(ステップS401)。
MFPアプリケーションインストーラーは、登録されたMFPアプリケーション103の第二のEULA及び各種設定パラメーター部305と第二の電子署名306とを取り出す。MFPアプリケーションインストーラーは、取り出した第二の電子署名306がX.509形式の正当な証明書であることを、予め埋め込まれている電子署名検証用公開鍵で検証する。検証が正当なものと判断した場合、MFPアプリケーションインストーラーは、第二のEULA及び各種設定パラメーター部305のハッシュ値等を、第二の電子署名306を用いて検証する(ステップS402)。
【0022】
MFPアプリケーションインストーラーは、ステップS402の検証の結果、第二のEULA及び各種設定パラメーター部305を正当と判断したか否かを判定する(ステップS403)。ステップS402の検証の結果、第二のEULA及び各種設定パラメーター部305を正当と判断した場合(ステップS403においてYes)、MFPアプリケーションインストーラーは、処理をステップS404に進める。ステップS404において、MFPアプリケーションインストーラーは、画面にEULA文書を表示し、インストール操作者にEULAの確認を促す(ステップS404)。
一方、第二のEULA及び各種設定パラメーター部305を正当でないと判断した場合(ステップS403においてNo)、MFPアプリケーションインストーラーは、処理をステップS414に進める。ステップS414において、MFPアプリケーションインストーラーは、MFPアプリケーション103に含まれるEULA及び各種パラメーター部に改竄等の不正を検知した旨のエラー表示し、図6に示す処理を終了する。
MFPアプリケーションインストーラーのEULA表示、インストール操作者によるEULA確認により、インストール操作者は、改竄等の不正が行われていないMFPアプリケーション103に含まれる正当なEULAを確認したことになる。
【0023】
MFPアプリケーションインストーラーは、インストール操作者によってEULAの確認がOKであったか否かを判定する(ステップS405)。インストール操作者が表示されたEULAに対して確認行為を行い、OK等のボタンを押下した旨を検知した場合(ステップS405においてYes)、MFPアプリケーションインストーラーは、処理をステップS406に進める。ステップS406において、MFPアプリケーションインストーラーは、第二のEULA及び各種設定パラメーター部305からパラメーターの値の定義情報の一例である各種設定パラメータースキーマを読み出す。MFPアプリケーションインストーラーは、読み出した各種設定パラメータースキーマに従って、各種パラメーターの設定画面を表示し、インストール操作者にアプリケーションパラメーターの設定を促す(ステップS407)。
一方、インストール操作者が表示されたEULAに対して確認行為を行い、NG等のボタンを押下した旨を検知した場合(ステップS405においてNo)、MFPアプリケーションインストーラーは、図6に示す処理を終了する。
MFPアプリケーションインストーラーは、各種設定パラメータースキーマに基づき、インストール操作者が設定したパラメーターの値を検証する(ステップS408)。ステップS408の処理は、パラメーターの値の有効性を確認する処理(有効性確認の処理)の一例である。MFPアプリケーションインストーラーは、ステップS408の検証の結果、設定されたパラメーターの値が適切か否かを判定する(ステップS409)。設定されたパラメーターの値が適切であると判定した場合(ステップS409においてYes)、MFPアプリケーションインストーラーは、処理をステップS410に進める。ステップS410において、MFPアプリケーションインストーラーは、設定されたパラメーターの値をXML形式の設定ファイルとして書き出す。一方、設定されたパラメーターの値が適切でないと反映した場合(ステップS409においてNo)、MFPアプリケーションインストーラーは、処理をステップS415に進める。ステップS415において、MFPアプリケーションインストーラーは、パラメーターの値が不正である旨のエラーメッセージを表示し(ステップS415)、図6に示す処理を終了する。
【0024】
インストール操作者によるパラメーターの値の設定、MFPアプリケーションインストーラーによる値の確認により、インストール操作者は、改竄等の不正が行われていないMFPアプリケーション103に含まれる正当なパラメーターに有効な値を設定したことになる。これは、第三者が、MFPアプリケーション103の作成者が意図しないパラメーターの値を設定することを防止する。MFPアプリケーション103の作成者は、XMLスキーマの制約ファセットで設定可能なパラメーターを制限することができる。MFPアプリケーション103の作成者による制限及びインストール操作者によるインストール時のパラメーター確認により、MFPアプリケーション103は、不正なパラメーターの値の設定に起因する誤動作を防止することができる。
MFPアプリケーションインストーラーは、MFPアプリケーション103とXML形式で書き出した設定ファイルとを送信する(ステップS411)。送信後、MFPアプリケーションインストーラーは、MFP101からの応答を待つ(ステップS412)。
MFP101がアプリケーションのインストール成功のステータスを返してきた場合(ステップS412においてYes)、MFPアプリケーションインストーラーは、処理をステップS413に進める。一方、MFP101がアプリケーションのインストール失敗のステータスを返してきた場合(ステップS412においてNo)、MFPアプリケーションインストーラーは、処理をステップS416に進める。ステップS413において、MFPアプリケーションインストーラーは、インストール完了を表示して図6に示す処理を終了する。ステップS416において、MFPアプリケーションインストーラーは、インストール失敗のエラーを表示して図6に示す処理を終了する。
【0025】
<各種設定パラメータースキーマ>
図7は、第二のEULA及び各種設定パラメーター部305における各種設定パラメータースキーマの一例を示す図である。本スキーマの書法は、W3C XML Schema 1.1仕様に従う。本実施形態においてMFPアプリケーション103は、同時使用可能なユーザー数に制限を持つ。本スキーマにおいて、同時使用可能ユーザー数が単純型のユーザー派生データ型によって定義されている。更に、本スキーマにおいて、数値の制約ファセットにより、同時使用可能ユーザー数が1〜99の値を取り得ることが定義されている。
なお、制約ファセットには、数値型で最大値/最小値や、文字列型、patternファセットを用いた正規表現等、XML Schema 1.1仕様に含まれるものが使用可能である。
図6のフローチャートで示した、PC102上のMFPアプリケーションインストーラーによる、MFP101へのMFPアプリケーション103のインストール過程において、MFPアプリケーションインストーラーが本スキーマを検証する。その際、MFPアプリケーションインストーラーは、図6のフローチャートのステップS402〜ステップS409の処理を実行する。ここでMFPアプリケーションインストーラーが、第二のEULA及び各種設定パラメーター部305を、第二の電子署名306によって検証することで、本スキーマ自身の正当性が保証される。更にインストール操作者による同時使用可能ユーザー数を設定の際、MFPアプリケーションインストーラーが本スキーマを検証し、インストール操作者の設定値がスキーマに示された1〜99の範囲を超えないことが保証される。
<XML形式の設定ファイル(インスタンス)>
図8は、インストール操作者が、最大同時接続ユーザーを15と設定した場合、MFPアプリケーションインストーラーがステップS410において出力するXML形式の設定ファイル(インスタンス)の一例を示す図である。本文書を図6のステップS411において、MFPアプリケーションインストーラーがMFPアプリケーション103と共にMFP101に送信する。
【0026】
<MFP101上のインストーラー>
図9は、MFP101上で動作する、インストーラーによる処理の一例を示すフローチャートである。MFP101上のインストーラーは、図4のアプリケーション機能部209の一機能であり、ネットワーク機能部206、暗号処理機能部215を用いて、MFPアプリケーション103のインストールを実行する。
MFP101上のインストーラーは、PC102からMFPアプリケーション103及び図8で示した設定ファイルを受信する(ステップS501)。
MFP101上のインストーラーは、予め暗号処理機能部215に埋め込まれた復号鍵により、MFPアプリケーション103のMFPアプリケーションファイル301の署名暗号化プログラム本体部302を復号化する(ステップS502)。
MFP101上のインストーラーは、ステップS502で復号化された署名暗号化プログラム本体部302の第一のハッシュ値計算対象部303のハッシュ値を計算する。その後、MFP101上のインストーラーは、第一の電子署名304を用いて第一のハッシュ値計算対象部303の署名検証を行う(ステップS503)。
そして、MFP101上のインストーラーは、ステップS502の復号化が成功したか、及びステップS503の署名検証の結果、第一のハッシュ値計算対象部303が正当なものかどうか判断する(ステップS504)。
【0027】
復号化が成功し、第一のハッシュ値計算対象部303が正当であると判定すると(ステップS504においてYes)、MFP101上のインストーラーは、処理をステップS505に進める。一方、復号化が失敗した、又は第一のハッシュ値計算対象部303が正当でないと判定すると(ステップS504においてNo)、MFP101上のインストーラーは、処理をステップS510に進める。
ステップS505において、MFP101上のインストーラーは、第二の電子署名306を用いて、署名暗号化プログラム本体部外に配置された第二のEULA及び各種設定パラメーター部305の署名検証を行う。ステップS505の処理は、正当性確認の処理の一例である。ステップS504からステップS510に進んだ場合、MFP101上のインストーラーは、第一の署名検証失敗のエラーステータスとメッセージを、PC102に送信して図9に示す処理を終了する。
MFP101上のインストーラーは、ステップS505の検証の結果、第二のEULA及び各種設定パラメーター部305を正当と判断したか否かを判定する(ステップS506)。ステップS505の検証の結果、第二のEULA及び各種設定パラメーター部305を正当と判断した場合(ステップS506においてYes)、MFP101上のインストーラーは、処理をステップS507に進める。一方、ステップS505の検証の結果、第二のEULA及び各種設定パラメーター部305を正当でないと判断した場合(ステップS506においてNo)、MFP101上のインスーラーは、処理をステップS510に進める。
ステップS505の処理は、PC102上で動作するMFPアプリケーションインストーラーで検証され、インストール操作者によって確認されたEULAや各種アプリケーションパラメータースキーマが真正であることの確認のため行う。図6のフローチャートのステップS402で検証され、インストール操作者によって確認されたEULAや各種アプリケーションパラメータースキーマは、MFP101に転送される前に改竄される可能性がある。そこで、MFP101上のインストーラーがここで改めてPC102から転送されたEULA及び各種アプリケーションパラメーターを確認する。
【0028】
MFP101上のインストーラーは、アプリケーション機能部209において、図8の値を設定したMFPアプリケーション103のインストールを行う(ステップS507)。ここで、MFPアプリケーション103は、設定されたパラメーターの値に応じて挙動を変更可能な、MFP101上(画像処理装置上)で動作するアプリケーションである。ステップS506からステップS510に進んだ場合、MFP101上のインストーラーは、第二の署名検証失敗のエラーステータスとメッセージを、PC102に送信して図9に示す処理を終了する。
MFP101上のインストーラーは、ステップS507の処理の結果、アプリケーションのインストールが成功したか否かを判定する(ステップS508)。アプリケーションのインストールが成功したと判定した場合(S508においてYes)、MFP101上のインストーラーは、処理をステップS509に進める。一方、アプリケーションのインストールが失敗したと判定した場合(S509においてNo)、MFP101上のインストーラーは、処理をステップS510に進める。
ステップS509において、MFP101上のインストーラーは、インストール成功のエラーステータスとメッセージを、PC102に送信して、図9に示す処理を終了する。ステップS508からステップS510に進んだ場合、MFP101上のインストーラーは、インストール失敗のエラーステータスとメッセージを、PC102に送信して図9に示す処理を終了する。
【0029】
本実施形態の構成によれば、インストール操作者がMFPアプリケーション103を設定ファイルと共にMFP101にインストールする。このことにより、MFPアプリケーション103は、インストール後の初回起動からネットワーク設定やアプリケーションパラメーターが設定済みのものとして起動することができる。また、本実施形態の構成によれば、インストール前にアプリケーションのパラメーターに値を設定することができる。このことにより、インストール操作者は多数のMFPをセットアップする際の手間を省くことができ、MFP操作者等によるアプリケーションインストール後の設定間違い等を防止する事ができる。その際、パラメーターの設定の値に係るスキーマを恣意的に変更され、アプリケーション都合で予め決められた設定の値の範囲を逸脱するような行為を防ぐことができる。
また、本実施形態の構成によれば、PC102上で動作するインストーラーで検証を行うことで、多くのMFPに対してパラメーターの値付きのアプリケーションをインストールする際の検証行為を一度で済ますことができる。
また、本実施形態の構成によれば、電子署名検証用公開鍵を、MFP101の鍵と独立させる。これによりPC102上で動作するインストーラーにMFP101の鍵を持たせることなしに検証を行わせることができる。
【0030】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【0031】
以上、上述した各実施形態によれば、インストール操作者のインストール作業を簡略化すると共に、インストール対象のアプリケーションに対するパラメーターに設定する値の範囲等の第三者による改竄を防止することができる。
【0032】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。

【特許請求の範囲】
【請求項1】
パラメーターの値の定義情報付きのアプリケーションのパラメーターと、前記パラメーターの値に応じて挙動を変更可能な、画像処理装置上で動作する暗号化されたアプリケーションと、を含むアプリケーションデータが登録されると、前記アプリケーションデータに含まれる前記定義情報の正当性を確認する確認手段と、
前記確認手段で前記定義情報の正当性が確認された場合、前記定義情報に応じて、前記アプリケーションのインストール操作者が前記パラメーターに値を設定するための画面を表示する表示手段と、
前記画面を介して前記パラメーターに値が設定されると、前記定義情報に基づいて前記パラメーターの値の有効性を確認する有効性確認手段と、
前記有効性確認手段で前記パラメーターの値の有効性が確認された場合、前記アプリケーションデータと、前記パラメーターの値と、を送信する送信手段と、
を有する情報処理装置。
【請求項2】
前記アプリケーションデータには、前記アプリケーションの使用許諾契約情報が更に含まれ、
前記確認手段は、前記アプリケーションデータが登録されると、前記定義情報と、前記使用許諾契約情報と、の正当性を確認し、
前記表示手段は、前記確認手段で前記定義情報と、前記使用許諾契約情報と、の正当性が確認された場合、前記アプリケーションのインストール操作者が前記使用許諾契約情報を確認するための画面を表示し、前記画面を介して前記使用許諾契約情報が確認されると、前記定義情報に応じて、前記パラメーターに値を設定する画面を表示する請求項1記載の情報処理装置。
【請求項3】
前記アプリケーションデータには、前記定義情報の正当性を確認するための電子署名情報が含まれ、
前記確認手段は、予め設定されている公開鍵を用いて前記電子署名情報の正当性の確認を行い、前記電子署名情報の正当性が確認された場合、前記電子署名情報を用いて前記定義情報の正当性を確認する請求項1記載の情報処理装置。
【請求項4】
前記確認手段で前記定義情報の正当性が確認されなかった場合、前記定義情報の改竄を検知した旨のエラーを表示するエラー表示手段を更に有する請求項1乃至3何れか1項記載の情報処理装置。
【請求項5】
前記有効性確認手段で前記パラメーターの値の有効性が確認されなかった場合、前記パラメーターの値が不正である旨のエラーを表示するエラー表示手段を更に有する請求項1乃至3何れか1項記載の情報処理装置。
【請求項6】
情報処理装置と、画像処理装置と、を含むアプリケーションのインストールシステムであって、
前記情報処理装置は、
パラメーターの値の定義情報付きのアプリケーションのパラメーターと、前記パラメーターの値に応じて挙動を変更可能な、画像処理装置上で動作する暗号化されたアプリケーションと、を含むアプリケーションデータが登録されると、前記アプリケーションデータに含まれる前記定義情報の正当性を確認する確認手段と、
前記確認手段で前記定義情報の正当性が確認された場合、前記定義情報に応じて、前記アプリケーションのインストール操作者が前記パラメーターに値を設定するための画面を表示する表示手段と、
前記画面を介して前記パラメーターに値が設定されると、前記定義情報に基づいて前記パラメーターの値の有効性を確認する有効性確認手段と、
前記有効性確認手段で前記パラメーターの値の有効性が確認された場合、前記アプリケーションデータと、前記パラメーターの値と、を送信する送信手段と、
を有し、
前記画像処理装置は、
前記情報処理装置より前記アプリケーションデータと、前記パラメーターの値と、を受信する受信手段と、
前記受信手段で受信された前記アプリケーションデータに含まれる前記暗号化されたアプリケーションを復号化する復号化手段と、
前記復号化手段で復号化された前記アプリケーションに、前記受信手段で受信された前記パラメーターの値を設定して前記アプリケーションをインストールするインストール手段と、
を有するインストールシステム。
【請求項7】
前記アプリケーションデータには、前記定義情報の正当性を確認するための電子署名情報が含まれ、
前記確認手段は、予め設定されている公開鍵を用いて前記電子署名情報の正当性の確認を行い、前記電子署名情報の正当性が確認された場合、前記電子署名情報を用いて前記定義情報の正当性を確認し、
前記画像処理装置は、
前記受信手段で受信された前記アプリケーションデータに含まれる前記電子署名情報を用いて前記アプリケーションデータに含まれる前記定義情報の正当性を確認する正当性確認手段を更に有し、
前記インストール手段は、前記正当性確認手段で前記定義情報の正当性が確認された場合、前記復号化手段で復号化された前記アプリケーションに、前記受信手段で受信された前記パラメーターの値を設定して前記アプリケーションをインストールする請求項6記載のインストールシステム。
【請求項8】
情報処理装置が実行する情報処理方法であって、
パラメーターの値の定義情報付きのアプリケーションのパラメーターと、前記パラメーターの値に応じて挙動を変更可能な、画像処理装置上で動作する暗号化されたアプリケーションと、を含むアプリケーションデータが登録されると、前記アプリケーションデータに含まれる前記定義情報の正当性を確認する確認ステップと、
前記確認ステップで前記定義情報の正当性が確認された場合、前記定義情報に応じて、前記アプリケーションのインストール操作者が前記パラメーターに値を設定するための画面を表示する表示ステップと、
前記画面を介して前記パラメーターに値が設定されると、前記定義情報に基づいて前記パラメーターの値の有効性を確認する有効性確認ステップと、
前記有効性確認ステップで前記パラメーターの値の有効性が確認された場合、前記アプリケーションデータと、前記パラメーターの値と、を送信する送信ステップと、
を含む情報処理方法。
【請求項9】
情報処理装置と、画像処理装置と、を含むアプリケーションのインストールシステムにおけるインストール方法であって、
前記情報処理装置が、パラメーターの値の定義情報付きのアプリケーションのパラメーターと、前記パラメーターの値に応じて挙動を変更可能な、画像処理装置上で動作する暗号化されたアプリケーションと、を含むアプリケーションデータが登録されると、前記アプリケーションデータに含まれる前記定義情報の正当性を確認する確認ステップと、
前記情報処理装置が、前記確認ステップで前記定義情報の正当性が確認された場合、前記定義情報に応じて、前記アプリケーションのインストール操作者が前記パラメーターに値を設定するための画面を表示する表示ステップと、
前記情報処理装置が、前記画面を介して前記パラメーターに値が設定されると、前記定義情報に基づいて前記パラメーターの値の有効性を確認する有効性確認ステップと、
前記有効性確認ステップで前記パラメーターの値の有効性が確認された場合、前記アプリケーションデータと、前記パラメーターの値と、を送信する送信ステップと、
前記画像処理装置が、前記情報処理装置より前記アプリケーションデータと、前記パラメーターの値と、を受信する受信ステップと、
前記画像処理装置が、前記受信ステップで受信された前記アプリケーションデータに含まれる前記暗号化されたアプリケーションを復号化する復号化ステップと、
前記画像処理装置が、前記復号化ステップで復号化された前記アプリケーションに、前記受信ステップで受信された前記パラメーターの値を設定して前記アプリケーションをインストールするインストールステップと、
を含むインストール方法。
【請求項10】
コンピュータに、
パラメーターの値の定義情報付きのアプリケーションのパラメーターと、前記パラメーターの値に応じて挙動を変更可能な、画像処理装置上で動作する暗号化されたアプリケーションと、を含むアプリケーションデータが登録されると、前記アプリケーションデータに含まれる前記定義情報の正当性を確認する確認ステップと、
前記確認ステップで前記定義情報の正当性が確認された場合、前記定義情報に応じて、前記アプリケーションのインストール操作者が前記パラメーターに値を設定するための画面を表示する表示ステップと、
前記画面を介して前記パラメーターに値が設定されると、前記定義情報に基づいて前記パラメーターの値の有効性を確認する有効性確認ステップと、
前記有効性確認ステップで前記パラメーターの値の有効性が確認された場合、前記アプリケーションデータと、前記パラメーターの値と、を送信する送信ステップと、
を実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate