(57)【要約】【課題】  第１のサーバ装置からインストールすべき共通鍵で暗号化された第１の秘密鍵で暗号化された署名済みのアプリケーションを取得できない場合でも、第２のサーバ装置から共通鍵で暗号化された第２の秘密鍵で暗号化された署名済みの仮アプリケーションを取得して、第１の公開鍵または第２の公開鍵を用いて認証した後インストールする。【解決手段】    情報処理装置において、第１のサーバ装置または第２のサーバ装置から取得するライセンスファイルから共通鍵を取得する。そして、取得した共通鍵を用いて前記第１のサーバ装置から取得した暗号化されたアプリケーションまたは前記第２のサーバ装置から取得した暗号化された仮アプリケーションを復号化する。そして、復号化した署名済みのアプリケーションを前記第１の公開鍵または前記第２の公開鍵を用いて認証し、該認証された署名済みのアプリケーションまたは仮アプリケーションをインストールすることを特徴とする。【選択図】  図１２Ａ
2015115625.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と、前記情報処理装置にインストールすべきアプリケーションを管理する第１のサーバ装置と、前記情報処理装置にインストールすべき前記アプリケーションに対応する仮アプリケーションを管理する第２のサーバ装置とが通信する情報処理システムであって、
前記第１のサーバ装置は、
前記情報処理装置の要求に従いインストールすべき第１の秘密鍵で暗号化して署名したアプリケーションを前記情報処理装置に発行する発行手段と、
前記第２のサーバ装置は、
前記情報処理装置の要求に従い前記インストールすべき第２の秘密鍵で暗号化して署名した仮アプリケーションを前記情報処理装置に発行する発行手段と、
前記情報処理装置は、
署名済みのアプリケーションを認証するための第１の公開鍵と、署名済みの仮アプリケーションを認証するための第２の公開鍵とを記憶する記憶手段と、
前記第１のサーバ装置または第２のサーバ装置から取得するライセンスファイルから共通鍵を取得する第１の取得手段と、
取得した共通鍵を用いて前記第１のサーバ装置から取得した暗号化されたアプリケーションまたは前記第２のサーバ装置から取得した暗号化された仮アプリケーションを復号化する復号化手段と、
復号化した署名済みのアプリケーションを前記第１の公開鍵または前記第２の公開鍵を用いて認証する認証手段と、
前記認証された署名済みのアプリケーションまたは仮アプリケーションをインストールするインストール手段と、
を備えることを特徴とする情報処理システム。
【請求項２】
前記認証手段は、前記第１のサーバ装置から取得した署名済みのアプリケーションには前記第１の公開鍵を使用し、前記第２のサーバ装置から取得した署名済みのアプリケーションには前記第２の公開鍵を使用することを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記署名済みのアプリケーションが前記第２の秘密鍵を使用して署名したことを識別する識別子が有効化されているかどうかを判断する判断手段と、
前記第２の署名鍵を使用していることを識別する識別子が有効化されていると判断した場合、前記認証手段は、復号化された仮アプリケーションを第２の公開鍵を用いて認証し、前記第２の署名鍵を使用していることを識別する識別子が有効化されていないと判断した場合、復号化されたアプリケーションを第１の署名鍵を用いて認証することを特徴とする請求項１記載の情報処理システム。
【請求項４】
前記第２の署名鍵で認証された署名済みのアプリケーションの認証回数を管理する管理手段を備え、
前記インストール手段は、前記管理手段が管理する認証回数が所定の回数を超えている場合、前記署名済みの仮アプリケーションのインストールを実行しないことを特徴とする請求項１記載の情報処理システム。
【請求項５】
前記インストール手段は、前記第１のサーバ装置から取得する署名済みのアプリケーションを前記第２のサーバ装置から取得した署名済みの仮アプリケーションに上書きしてインストールすることを特徴とする請求項１記載の情報処理システム。
【請求項６】
前記管理手段は、前記インストール手段が前記第１のサーバ装置から取得する署名済みのアプリケーションを前記第２のサーバ装置から取得した署名済みのアプリケーションに上書きインストールした場合、インストール回数を初期化することを特徴とする請求項４記載の情報処理システム。
【請求項７】
前記情報処理装置は、画像形成装置、印刷装置、複合画像処理装置、スキャナ装置を含むことを特徴とする請求項１記載の情報処理システム。
【請求項８】
前記署名済みアプリケーションは、前記署名済み仮アプリケーションと同じ機能処理を実行することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理システム。
【請求項９】
情報処理装置であって、
情報処理装置と、前記情報処理装置にインストールすべきアプリケーションを管理する第１のサーバ装置と、前記情報処理装置にインストールすべき前記アプリケーションに対応する仮アプリケーションを管理する第２のサーバ装置と通信する通信手段と、
署名済みのアプリケーションを認証するための第１の公開鍵と、署名済みの仮アプリケーションを認証するための第２の公開鍵とを記憶手段に登録する登録手段と、
前記第１のサーバ装置または第２のサーバ装置から取得するライセンスファイルから共通鍵を取得する第１の取得手段と、
取得した共通鍵を用いて前記第１のサーバ装置から取得した暗号化されたアプリケーションまたは前記第２のサーバ装置から取得した暗号化された仮アプリケーションを復号化する復号化手段と、
復号化した署名済みのアプリケーションを前記第１の公開鍵または前記第２の公開鍵を用いて認証する認証手段と、
前記認証された署名済みのアプリケーションまたは仮アプリケーションをインストールするインストール手段と、
を備えることを特徴とする情報処理装置。
【請求項１０】
情報処理装置の制御方法であって、
情報処理装置と、前記情報処理装置にインストールすべきアプリケーションを管理する第１のサーバ装置と、前記情報処理装置にインストールすべき前記アプリケーションに対応する仮アプリケーションを管理する第２のサーバ装置と通信する通信工程と、
署名済みのアプリケーションを認証するための第１の公開鍵と、署名済みの仮アプリケーションを認証するための第２の公開鍵とを記憶手段に登録する登録工程と、
前記第１のサーバ装置または第２のサーバ装置から取得するライセンスファイルから共通鍵を取得する第１の取得工程と、
取得した共通鍵を用いて前記第１のサーバ装置から取得した暗号化されたアプリケーションまたは前記第２のサーバ装置から取得した暗号化された仮アプリケーションを復号化する復号化工程と、
復号化した署名済みのアプリケーションを前記第１の公開鍵または前記第２の公開鍵を用いて認証する認証工程と、
前記認証された署名済みのアプリケーションまたは仮アプリケーションをインストールするインストール工程と、
を備えることを特徴とする情報処理装置の制御方法。
【請求項１１】
請求項９に記載の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、情報処理装置の制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
従来の技術として、不正利用防止を目的として、アプリケーションを利用するためにライセンスを必要とするライセンス管理方法がある。それは、アプリケーションはそのままの状態では誰でも利用することができてしまうため、暗号化処理を行うことで、ライセンスファイルが無いとアプリケーションを利用できないようにするものである。
仕組みとして、ライセンスサーバ内で、証明書を保持し、署名を付与することで不正利用を防いでいる。このため、ライセンスサーバ内から証明書を外部に出せないよう厳重に管理している。
ところが、前記ライセンスサーバはアプリケーションやライセンスを一元的に管理するために全世界で１つのサーバとして運用されるケースが多い。そのため、震災等の影響によって前記ライセンスサーバへのアクセスができなくなってしまう場合には、震災の影響がない地域でもアプリケーションやライセンスを発行したいタイミングで発行できないため、ビジネスの機会を損失してしまうという課題がある。
【０００３】
その課題に対して特許文献１では、事前にライセンスサーバでアプリケーションの暗号化処理を行い、そのアプリケーションをローカル環境に発行しておく。さらに、事前にライセンスサーバから仮のライセンスをローカル環境に発行しておく。そして、指定されたライセンスの発行日時にライセンスサーバにアクセスができなかった場合にローカル環境の仮のライセンスでアプリケーションを利用させるという仕組みを提案している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１７０４３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１ではライセンスサーバに接続できない状況が続き、暗号化処理が行われた製品版のアプリケーションを必要とする顧客がいた場合、次のような様な課題が生じる。
その課題とは、上記の顧客に対して、暗号化処理の行われていないアプリケーションは持っていても、アプリケーション不正利用防止のための署名・暗号化処理が行えないことにより、製品版のアプリケーションを発行できないという課題である。
【０００６】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、第１のサーバ装置からインストールすべき共通鍵で暗号化された第１の秘密鍵で暗号化された署名済みのアプリケーションを取得できない場合でも、第２のサーバ装置から共通鍵で暗号化された第２の秘密鍵で暗号化された署名済みの仮アプリケーションを取得して、第１の公開鍵または第２の公開鍵を用いて認証した後インストールできる仕組みを提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成する本発明の情報処理システムは以下に示す構成を備える。
情報処理装置と、前記情報処理装置にインストールすべきアプリケーションを管理する第１のサーバ装置と、前記情報処理装置にインストールすべき前記アプリケーションに対応する仮アプリケーションを管理する第２のサーバ装置とが通信する情報処理システムであって、前記第１のサーバ装置は、前記情報処理装置の要求に従いインストールすべき第１の秘密鍵で暗号化して署名したアプリケーションを前記情報処理装置に発行する発行手段と、前記第２のサーバ装置は、前記情報処理装置の要求に従い前記インストールすべき第２の秘密鍵で暗号化して署名した仮アプリケーションを前記情報処理装置に発行する発行手段と、前記情報処理装置は、署名済みのアプリケーションを認証するための第１の公開鍵と、署名済みの仮アプリケーションを認証するための第２の公開鍵とを記憶する記憶手段と、前記第１のサーバ装置または第２のサーバ装置から取得するライセンスファイルから共通鍵を取得する第１の取得手段と、取得した共通鍵を用いて前記第１のサーバ装置から取得した暗号化されたアプリケーションまたは前記第２のサーバ装置から取得した暗号化された仮アプリケーションを復号化する復号化手段と、復号化した署名済みのアプリケーションを前記第１の公開鍵または前記第２の公開鍵を用いて認証する認証手段と、前記認証された署名済みのアプリケーションまたは仮アプリケーションをインストールするインストール手段と、を備えることを特徴とする。
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
情報処理装置であって、情報処理装置と、前記情報処理装置にインストールすべきアプリケーションを管理する第１のサーバ装置と、前記情報処理装置にインストールすべき前記アプリケーションに対応する仮アプリケーションを管理する第２のサーバ装置と通信する通信手段と、署名済みのアプリケーションを認証するための第１の公開鍵と、署名済みの仮アプリケーションを認証するための第２の公開鍵とを記憶する記憶手段と、前記第１のサーバ装置または第２のサーバ装置から取得するライセンスファイルから共通鍵を取得する第１の取得手段と、取得した共通鍵を用いて前記第１のサーバ装置から取得した暗号化されたアプリケーションまたは前記第２のサーバ装置から取得した暗号化された仮アプリケーションを復号化する復号化手段と、復号化した署名済みのアプリケーションを前記第１の公開鍵または前記第２の公開鍵を用いて認証する認証手段と、前記認証された署名済みのアプリケーションまたは仮アプリケーションをインストールするインストール手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、第１のサーバ装置からインストールすべき共通鍵で暗号化された第１の秘密鍵で暗号化された署名済みのアプリケーションを取得できない場合でも、第２のサーバ装置から共通鍵で暗号化された第２の秘密鍵で暗号化された済みの仮アプリケーションを取得して、第１の公開鍵または第２の公開鍵を用いて認証した後インストールできる。
【図面の簡単な説明】
【０００９】
【図１】情報処理システムの一例を示す図である。
【図２】情報処理システムのハードウエア構成を説明するブロック図である。
【図３Ａ】情報処理システムにおけるモジュールの構成を説明するブロック図である。
【図３Ｂ】情報処理システムにおけるモジュールの構成を説明するブロック図である。
【図３Ｃ】情報処理システムにおけるモジュールの構成を説明するブロック図である。
【図４】ライセンスサーバのハードディスクで保持するテーブルの例を示す図である。
【図５】緊急用ライセンスサーバのハードディスクで保持するテーブルの例を示す図である。
【図６】画像形成装置のハードディスクで保持するテーブルの例を示す図である。
【図７Ａ】画像形成装置が提供するアプリケーションインストール画面の例を示す図である。
【図７Ｂ】画像形成装置が提供する仮アプリケーション管理画面の例を示す図である。
【図８】緊急用ライセンスサーバが提供する画面の例を示す図である。
【図９Ａ】アプリケーションファイルとライセンスファイルの保持しているデータの構造図である。
【図９Ｂ】アプリケーションファイルとライセンスファイルの保持しているデータの構造図である。
【図１０】サーバ装置における制御方法を説明するフローチャートである。
【図１１】サーバ装置の制御方法を説明するフローチャートである。
【図１２Ａ】画像形成装置の制御方法を説明するフローチャートである。
【図１２Ｂ】画像形成装置の制御方法を説明するフローチャートである。
【図１３Ａ】サーバ装置の制御方法を説明するフローチャートである。
【図１３Ｂ】サーバ装置の制御方法を説明するフローチャートである。
【図１４】情報処理装置で表示されるＵＩ画面の一例を示す図である。
【図１５】情報処理システムのモジュールを説明する図である。
【図１６】画像形成装置の制御方法を説明するフローチャートである。
【図１７】サーバ装置の制御方法を説明するフローチャートである。
【発明を実施するための形態】
【００１０】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
【００１１】
図１は、本実施形態を示す情報処理システムの一例を示す図である。本例は、電子データの認証に用いる署名鍵の選出と、電子署名を付与する装置の保証に関するネットワーク構成例である。より具体的には、情報処理装置と、情報処理装置にインストールすべきアプリケーションを管理する第１のサーバ装置と、前記情報処理装置にインストールすべきアプリケーションに対応する仮アプリケーションを管理する第２のサーバ装置とが通信する情報処理システムとする例である。また、本例では、情報処理装置の一例として画像形成装置を例とするが、他の印刷装置、複合画像処理装置、原稿読取装置、データ通信装置（ファクシミリ装置を含む）等であってもよい。
【００１２】
図１において、インターネット１０２を介して、ライセンスサーバ１０１と顧客ネットワーク１１０と販売会社ネットワーク１２０とが接続されている。前記顧客ネットワーク１１０とは、画像形成装置１１２を購入した顧客が利用するネットワーク環境であり、販売会社ネットワーク１２０とは、画像形成装置１１２を販売する販売会社の利用するネットワーク環境である。顧客ネットワーク１１０では、情報処理装置１１１と画像形成装置１１２とがLAN１１３によって接続がされており、LAN１１３を経由してインターネット１０２への接続も可能である。なお、ライセンササーバ１０１は第１のサーバ装置として機能し、画像形成装置１１２の要求に従いインストールすべき第１の秘密鍵で暗号化して署名したアプリケーションを画像形成装置１１２に発行する処理を後述するように実行する。
同様に、緊急用ライセンスサーバ１２２は第２のサーバ装置として機能し、画像形成装置１１２の要求に従いインストールすべき第２の秘密鍵で暗号化して署名したアプリケーションを画像形成装置１１２に発行する処理を後述するように実行する。また、詳細は後述するが、画像形成装置１１２は、通常、署名済みのアプリケーションを取得する場合、ライセンスサーバ１０１に接続要求を行う。この際、通信事情やライセンスサーバ１０１等のメンテナンス等により、ライセンスサーバ１０１を利用できない場合がある。そこで、本実施形態では、ライセンスサーバ１０１が提供する署名済みのアプリケーションと同じアプリケーションを画像形成装置１１２からの取得要求に適応して、緊急的に仮アプリケーションとして発行する制御を行う。ただし、仮アプリケーションは、署名済みのアプリケーションに対する認証回数に制限が付されており、仮アプリケーションに設定されたインストール可能な期間内であっても、認証回数が所定回数を超える場合がある。本実施形態では、所定回数を超える事態に推移した場合、当該仮アプリケーションを使用することができないように制御される。さらに、画像形成装置１１２にインストールされた仮アプリケーションの状態を判断して、画像形成装置１１２は、仮アプリケーションと同じ機能処理を実行するアプリケーションの正規登録を行うべく、通信可能となったライセンスサーバ１０１に接続する。そして、ライセンスサーバ１０１から正規のアプリケーションを取得し、当該仮アプリケーションの登録領域に上書きすることで正規登録される。よって、正規登録された後、仮アプリケーションが実行されることは制限される。
【００１３】
販売会社ネットワーク１２０では、情報処理装置１２１と緊急用ライセンスサーバ１２２とがLAN１２３によって接続がされており、LAN１２３を経由してインターネット１０２への接続も可能である。
【００１４】
なお、図１では画像形成装置１１２及び情報処理装置１１１、１２１が1台ずつ接続されているが、任意の台数としてもよい。また緊急用ライセンスサーバ１２２は、独立のサーバとして存在しているが、情報処理装置１２１が緊急用ライセンスサーバ１２２の機能を兼ねてもよい。
ここで、本システムにおける用語の意義を説明する。本実施形態において、アプリケーションとは画像形成装置１１２に対して組み込むことで実行可能な形式のプログラムファイルであり、図９Ａの（Ａ）に示すように、アプリケーションの実ファイルを実行可能アプリケーションファイル９０１と称す。実行可能アプリケーションファイル９０１は、画像形成装置１１２に組み込むことにより画像形成装置１１２が提供する機能を拡張することができる。
【００１５】
実行可能アプリケーションファイル９０１は、不正利用防止のために後述するライセンスサーバ１０１に登録することによって電子署名および共通鍵方式による暗号化処理が施される。
電子署名された実行可能アプリケーションファイル９０１を署名済アプリケーションファイルテーブル９１１と、暗号化された同ファイルを以降暗号化アプリケーションファイルと称す。暗号化アプリケーションを用いて、実行可能アプリケーション９０１を画像形成装置１１２に組み込む場合には前記暗号化処理時に用いた共通鍵が必要となる。当該共通鍵をアプリケーション共通鍵と称す。
ここで、アプリケーション共通鍵は、図１に示すアプリケーションの暗号化時にライセンスサーバ１０１に保持される。またライセンスサーバ１０１から発行するライセンスファイルは、アプリケーション共通鍵を保持する。
画像形成装置１１２は、前記暗号化アプリケーションファイルと前記ライセンスファイルを受信することによって、ライセンスファイルからアプリケーション共通鍵を取得する。そして、画像形成装置１１２は取得したアプリケーション共通鍵を用いて暗号化アプリケーションファイルを復号し、署名済アプリケーションファイル９２１を取得する。
さらに、画像形成装置１１２は署名済アプリケーションファイル９２１の署名を認証することによって実行可能アプリケーションファイル９０１を取得し組み込むことで、画像形成装置１１２の提供する機能を拡張できる。
【００１６】
図９Ａの（Ｂ）に示す署名済アプリケーションファイルテーブル９１１には、緊急用ライセンスサーバ１２２から発行されたことを示すための仮識別子９１７が含まれている。仮識別子９１７は、前記実行可能アプリケーションファイルテーブル９１１に対して電子署名を付与する際に、通常使用される電子署名ではなく、緊急用ライセンスサーバ１２２用の仮電子署名が使用されたときに、"有効"状態に更新される。この署名済アプリケーションテーブル９１１が暗号化されたものを、暗号化仮アプリケーションファイル９２１と称する。
商品とは、アプリケーションを販売する単位でライセンスサーバ１０１に登録される情報である。前記商品は販売会社によってライセンスサーバ１０１に登録がされる。ライセンス番号とは、商品を購入した顧客に対して発行される番号である。前記ライセンス番号は一意に識別可能な値であり、販売会社によってライセンスサーバ１０１から発行される。
【００１７】
図９Ｂに示すデバイス識別子とは、画像形成装置１１２を一意に識別する値である。前記デバイス識別子は、画像形成装置１１２の不揮発性メモリ２０９に格納されており、画像形成装置１１２の表示部２１１などから顧客は確認が可能である。図９の（Ｄ）に対応するライセンスファイルとは暗号化された署名済みアプリケーションファイルテーブル９１１を画像形成装置１１２にインストールをするために必要となるファイルである。
【００１８】
ライセンスファイルは、ライセンスサーバ１０１から発行された正規ライセンスファイル９３１と、緊急用ライセンスサーバ１２２から発行された仮ライセンスファイル９４１が存在する。前記正規ライセンスファイル９３１は顧客がライセンスサーバ１０１に対して後述する正規ライセンスファイル発行要求を出すことによって発行することができる。図９Ｂの（Ｅ）に示す仮ライセンスファイル９４１は、顧客がライセンスサーバ１０１に接続できない場合に販売会社に連絡を取り、販売会社が緊急用ライセンスサーバ１２２に対して仮ライセンスファイル発行要求を出すことによって発行することができる。
【００１９】
図２は、図１に示した情報処理システムのハードウエア構成を説明するブロック図である。特に図２の（Ａ）は図１に示した画像形成装置１１２のハードウエア構成であり、以下の２０１乃至２１３の各部分により構成される。
図２の（Ａ）において、２０１は原稿給装部で、読み込む原稿を自動的にイメージリーダ２０２に送る。２０２は原稿を読み込むイメージリーダ（スキャナ）である。２０３は画像形成部で、読み込んだ原稿および受信したデータを印刷画像に変換・印刷する画像形成部。２０４は給紙部で印刷用の紙（シート）を画像形成部２０３に給紙する。
２０５はＮｅｔｗｏｒｋＩ／Ｆで、ネットワーク経由でＬＡＮおよびインターネットに接続し、外部と情報交換を行う。２０６はセンサで、本装置の各部分の状態を検知する。２０７はＣＰＵで、本装置上の各処理を司る。
２０８はハードディスクで、本装置の各処理に関わるプログラムやデータを記憶する。２０９は不揮発性メモリで、電源を供給しなくても記憶を保持できかつ書き換え可能に構成されている。２１０は揮発性メモリで、本装置の各処理に関わる一時的なデータを電気的に記憶できかつ書き換え可能に構成されている。
２１１は表示部で、本装置の動作状況および操作部２１２に対する操作に関わる情報を表示する。２１２は操作部で、本装置への指示入力を受け付ける。２１３はシステムバスで、上記２０１乃至２１２の各部分を結びつけ、データをやり取りする。
図２の（Ｂ）は、図１に示した情報処理装置１１１、１２１、ライセンスサーバ１０１およびに緊急用ライセンスサーバ１２２のハードウエア構成を示すブロック図である。
図２の（Ｂ）において、２２１は表示部で、ウィンドウ、アイコン、メッセージ、メニュー、その他のユーザインタフェース情報が表示される。２２２は操作部で、キーボード、マウスを利用したエンドユーザの入力を受け付ける。
【００２０】
２２３はＣＰＵで、本装置上の各処理を司る。２２４はハードディスクで、本装置の各処理に関わるプログラムやデータを記憶する。２２５は揮発性メモリで、本装置の各処理に関わる一時的なデータを電気的に記憶できかつ書き換え可能に構成されている。２２６はＮｅｔｗｏｒｋＩ／Ｆで、ネットワーク経由でＬＡＮおよびインターネットに接続し、外部と情報交換を行う。２２７はシステムバスで、２２１乃至２２６の各部分を結びつけ、データをやり取りする。
図３Ａ〜図３Ｃは、本実施形態を示す情報処理システムにおけるモジュールの構成を説明するブロック図である。
図３Ａは、本実施形態を示すサーバ装置のモジュール構成に対応し、図３Ｂは、本実施形態を示す画像形成装置のモジュール構成に対応し、図３Ｃは、本実施形態を示す緊急用ライセンスサーバ１２２のモジュール構成に対応する。
【００２１】
図３Ａにおいて、ソフトウエア構成３０１の各々の手段は、ライセンスサーバ１０１のＣＰＵ２２３が、ライセンスサーバ１０１のハードディスク２２４に記憶されているプログラムを、揮発性メモリ２２５上にロードすることで実行される。アプリケーション情報保持手段３１１は、後述のアプリケーション情報テーブル４０１をライセンスサーバ１０１のハードディスク２２４に保持する手段である。
商品情報保持手段３１２は、後述の商品情報テーブル４１１をライセンスサーバ１０１のハードディスク２２４に保持する手段である。ライセンス番号情報保持手段３１３は、後述のライセンス番号情報テーブル４２１をライセンスサーバ１０１のハードディスク２２４に保持する手段である。ライセンス情報保持手段３１４は、後述のライセンス情報テーブル４３１をライセンスサーバ１０１のハードディスク２２４に保持する手段である。
【００２２】
アプリケーション情報登録手段３２１は、アプリケーション情報テーブル４０１にアプリケーション情報を登録するための手段である。アプリケーション情報登録手段３２１は、ライセンスサーバ１０１のＮｅｔｗｏｒｋＩ／Ｆ２２６から実行可能アプリケーションファイルを含むアプリケーション登録要求を受信することで実行される。前記アプリケーション登録要求は実行可能アプリケーションファイルを登録したい販売会社の情報処理装置１２１から送信される。アプリケーション登録要求を受信したアプリケーション情報登録手段３２１は、アプリケーションファイル暗号化手段３２７を用いて実行可能アプリケーションファイルを暗号化アプリケーションファイルに変換する。さらにアプリケーション情報登録手段３２１は、変換された暗号化アプリケーションファイルの情報をアプリケーション情報テーブル４０１の新規レコードとして格納する。
【００２３】
商品情報登録手段３２２は、商品情報テーブル４１１に商品情報を登録するための手段である。商品情報登録手段３２２は、ライセンスサーバ１０１のＮｅｔｗｏｒｋＩ／Ｆ２２６からバンドル識別子、商品識別子、商品名、権利数を含む商品登録要求を受信することで実行される。前記商品登録要求は、商品を登録したい販売会社の情報処理装置１２１から送信される。商品登録要求を受信した商品情報登録手段３２２は、商品登録情報に含まれる情報を商品情報テーブル４１１の新規レコードとして格納する。
【００２４】
ライセンス番号発行手段３２３は、ライセンスサーバ１０１からライセンス番号を発行するための手段である。ライセンス番号発行手段３２３は、ライセンスサーバ１０１のＮｅｔｗｏｒｋＩ／Ｆ２２６から商品識別子を含むライセンス番号発行要求を受信することで実行される。前記ライセンス番号発行要求はライセンス番号を発行したい販売会社の情報処理装置１２１から送信される。ライセンス番号発行要求を受信したライセンス番号発行手段３２３は、ランダムなライセンス番号を生成し、受信した商品識別子と共にライセンス番号情報テーブル４２１に格納をする。
【００２５】
正規ライセンスファイル発行手段３２４は、正規ライセンスファイルを発行するための手段である。正規ライセンスファイル発行手段３２４は、正規ライセンスファイル発行要求受信手段３２５により実行される。前記正規ライセンスファイル発行手段３２４は、引数であるデバイス識別子とバンドル識別子、アプリケーション共通鍵を含めた正規ライセンスファイル９３１を発行する。
【００２６】
アプリケーションファイル取得要求受信手段３２５は、ライセンスサーバ１０１に登録されている暗号化アプリケーションファイルを取得するための手段である。アプリケーションファイル取得要求受信手段３２５はライセンスサーバ１０１のＮｅｔｗｏｒｋＩ／Ｆ２２６からライセンス番号、バンドル識別子、バンドルバージョンを含むアプリケーションファイル取得要求を受信することで実行される。
前記アプリケーションファイル取得要求は、暗号化アプリケーションファイルを取得したい顧客の画像形成装置１１２もしくは情報処理装置１１１、販売会社の情報処理装置１２１などから発行される。アプリケーションファイル取得要求を受信したアプリケーションファイル取得要求受信手段３２５は、アプリケーションファイル取得要求の中のバンドル識別子とバンドルバージョンに一致するレコードをアプリケーション情報テーブル４０１から取得する。そしてアプリケーションファイル取得要求受信手段３２５は取得したレコードのアプリケーションパスカラム４０７のパスに存在する暗号化アプリケーションをアプリケーション取得要求の応答として返す。
【００２７】
正規ライセンスファイル発行要求受信手段３２５は、ライセンスサーバ１０１で正規ライセンスファイルを発行するための手段である。正規ライセンスファイル発行要求受信手段３２５は、ライセンスサーバ１０１のＮｅｔｗｏｒｋＩ／Ｆ２２６からライセンス番号とデバイス識別子を含む正規ライセンスファイル発行要求を受信することで実行される。
前記正規ライセンスファイル発行要求は、正規ライセンスファイルを発行したい顧客の画像形成装置１１２もしくは情報処理装置１２１から発行される。正規ライセンスファイル発行要求を受信した正規ライセンスファイル発行要求受信手段３２５は、受信したライセンス番号に対応するアプリケーション情報からバンドル識別子とアプリケーション共通鍵を取得する。正規ライセンスファイル発行要求受信手段３２５は、取得したバンドル識別子とアプリケーション共通鍵と正規ライセンスファイル発行要求に含まれるデバイス識別子を用いて正規ライセンスファイル発行手段３２４を実行して正規ライセンスファイルを発行する。
【００２８】
次に正規ライセンスファイル発行要求受信手段３２５は受信したライセンス番号とバンドル識別子および発行した正規ライセンスファイルの情報をライセンス情報テーブル４３１の新規レコードとして格納する。次に正規ライセンスファイル発行要求受信手段３２５は、正規ライセンスファイル発行要求の応答として、発行した正規ライセンスファイルを返す。
【００２９】
アプリケーションファイル暗号化手段３２７は、実行可能アプリケーションファイルを暗号化アプリケーションファイルにするための手段である。アプリケーションファイル暗号化手段３２７は受信した実行可能アプリケーションに署名を付与する。
【００３０】
次にアプリケーションファイル暗号化手段３２７は署名付与した実行可能アプリケーションのバンドル識別子を取得し、アプリケーション情報テーブル４０１からバンドル識別子カラム４０３に一致するレコードがあるかどうかを検索する。もし一致するレコードがある場合にはそのレコードのアプリケーション共通鍵カラム４０６の値を取得して、その値で署名を付与した実行可能アプリケーションファイルの暗号化を行う。もし一致するレコードがなかった場合は新規にアプリケーション共通鍵を生成し、そのアプリケーション共通鍵で署名を付与した実行可能アプリケーションファイルの暗号化を行う。
仮アプリケーション登録履歴登録要求受信手段３２８は、仮アプリケーション登録履歴登録要求を受信する手段である。商品選択画面表示手段３２９は、図１４の（Ａ）に示す商品選択画面１４０１を表示するための手段である。未登録アプリケーション正規登録画面表示手段３３０は、図１４の（Ｂ）に示す未登録アプリケーション正規登録画面１４１１を表示するための手段である。
未登録商品登録画面表示手段３３１は、図１４の（Ｃ）に示す未登録商品登録画面１４２１を表示するための手段である。商品情報登録要求受信手段３３２は、商品情報登録要求を受信する手段である。仮ライセンスファイル発行履歴登録要求受信手段３３３は、仮ライセンスファイル発行履歴登録要求を受信する手段である。
【００３１】
図３Ｂにおいて、ソフトウエア構成３０２の各々の手段は、画像形成装置１１２のＣＰＵ２０７が、画像形成装置１１２のハードディスク２０８に記憶されているプログラムを、揮発性メモリ２１０上にロードすることで実行される。アプリケーション保持手段３４１は、後述のアプリケーションファイルテーブル６０１を画像形成装置１１２のハードディスク２０８に保持する手段である。
【００３２】
オフラインインストール要求受信手段３５２は、オフラインインストール要求を受信する手段である。オフラインインストール要求は情報処理装置１１１で表示した図７Ａに示すインストール画面７０１でオフラインインストールラジオボタン７０２を選択してインストールボタン１６０７を押された時等に情報処理装置１１１から画像形成装置１１２に送信される。
【００３３】
オンラインインストール要求受信手段３５３は、オンラインインストール要求を受信する手段である。オンラインインストール要求は、情報処理装置１１１で表示する図７Ａに示すインストール画面７０１でオンラインインストールラジオボタン７０３を選択してインストールボタン１６０７を押された時に情報処理装置１１１から画像形成装置１１２に送信される。ライセンスサーバ接続確認手段３５４は、ライセンスサーバ１０１に接続できるかどうかを確認する手段である。
【００３４】
アプリケーションファイル取得要求手段３５５は、画像形成装置１１２のＮｅｔｗｏｒｋＩ／Ｆ２０５を経由してライセンスサーバ１０１にアプリケーションファイル取得要求を出すための手段である。
【００３５】
正規ライセンスファイル発行要求手段３５６は、画像形成装置１１２のＮｅｔｗｏｒｋＩ／Ｆ２０５を経由してライセンスサーバ１０１に正規ライセンスファイル発行要求を出すための手段である。
【００３６】
インストール手段３５７は、引数である暗号化アプリケーションファイルとライセンスファイルを用いて実行可能アプリケーションファイルに復号化をして画像形成装置１１２上で利用可能な状態にする手段である。実行可能アプリケーションファイルにするためには、ライセンスファイル内のアプリケーション共通鍵を用いて暗号化アプリケーションファイルを復号化する。
仮アプリケーション管理画面表示手段３５８は、図７Ｂに示すアプリケーション管理画面７１１を表示部２１１に表示するための手段である。デバイス識別子取得手段３５９は、画像形成装置１１２の不揮発性メモリ２０９に格納されているデバイス識別子を取得する手段である。仮識別子判断手段３６０は、署名済アプリケーションファイルテーブル９１１に含まれている仮識別子９１７の状態が、"有効"状態か、そうでないかの判断を行うための手段である。
【００３７】
仮アプリケーションインストール有効回数判断手段３６１は、図６の（Ａ）に示す仮アプリケーションインストール有効回数テーブル６１１の仮アプリケーションインストール有効回数カラム６１２に格納されている値を判断する手段である。判断する内容は、格納されている値が、"0"か、数値が設定されているか、もしくは、数値が設定されていないかを判断する。
【００３８】
仮アプリケーションインストール有効回数操作手段３６２は、仮アプリケーションインストール有効回数テーブル６１１の仮アプリケーションインストール有効回数カラム６１２に格納されている値を変更するための手段である。仮ライセンスインストール確認手段３６３は図６の（Ｂ）に示すアプリケーションファイルテーブル６０１の仮ライセンスカラム６０４の値に"true"が存在するかどうかを確認するための手段である。
【００３９】
図３Ｃにおいて、ソフトウエア構成３０３の各々の手段は、緊急用ライセンスサーバ１２２のＣＰＵ２２３が、緊急用ライセンスサーバ１２２のハードディスク２２４に記憶されているプログラムを、揮発性メモリ２２５上にロードすることで実行される。
アプリケーション共通鍵情報保持手段３７１は、後述の図５の（Ａ）に示すアプリケーション共通鍵テーブル５０１を緊急用ライセンスサーバ１２２のハードディスク２２４に保持する手段である。
仮ライセンスファイル発行履歴保持手段３７２は、後述の図５の（Ｂ）に示す仮ライセンスファイル発行履歴テーブル５１１を緊急用ライセンスサーバ１２２のハードディスク２２４に保持する手段である。仮アプリケーション情報保持手段３７３は、後述の図５の（Ｄ）に示す仮アプリケーションファイル登録履歴テーブル５３１を緊急用ライセンスサーバ１２２のハードディスク２２４に保持する手段である。仮電子署名保持手段３７４は、仮電子署名を緊急用ライセンスサーバ１２２のハードディスク２２４に保持する手段である。
アプリケーション共通鍵生成手段３８１は、アプリケーション共通鍵を作成するための手段である。アプリケーション共通鍵格納手段３８２は、バンドル識別子とアプリケーション共通鍵を関連付けて図５の（Ａ）に示すアプリケーション共通鍵テーブル５０１のレコードとして格納するための手段である。
【００４０】
仮ライセンスファイル発行画面表示手段３８３は、図８に示す仮ライセンスファイル発行画面８０１を表示するための手段である。前記仮ライセンスファイル発行画面表示手段３８３は、情報処理装置１２１から仮ライセンスファイル発行画面表示要求があった際に仮ライセンスファイル発行画面８０１を生成して応答として返すことにより情報処理装置１２１の表示部２２１に表示させる。
【００４１】
仮ライセンスファイル発行要求受信手段３８４は、緊急用ライセンスサーバ１２２のＮｅｔｗｏｒｋＩ／Ｆ２２６を経由して仮ライセンスファイル発行要求を受信する手段である。前記仮ライセンスファイル発行要求には暗号化アプリケーションファイルとデバイス識別子とライセンス番号を含む。
仮ライセンスファイル発行要求受信手段３８４は、受信した仮ライセンスファイル発行要求から暗号化アプリケーションファイルを取得し、暗号化アプリケーションからバンドル識別子を取得する。次に仮ライセンスファイル発行要求受信手段３８４は、取得したバンドル識別子に一致するバンドル識別子カラム５０２の値を持つレコードのアプリケーション共通鍵をアプリケーション共通鍵カラム５０３から取得する。
【００４２】
次に仮ライセンスファイル発行要求受信手段３８４は、仮ライセンスファイル発行手段３８５を実行して仮ライセンスファイルを発行して応答として返す。前記仮ライセンスファイル発行手段３８５の実行の際にはバンドル識別子、デバイス識別子、ライセンス番号、アプリケーション共通鍵を渡す。仮ライセンスファイル発行手段３８５は、仮ライセンスファイルを発行する手段である。仮ライセンスファイル発行手段３８５は受信したバンドル識別子、デバイス識別子、ライセンス番号、アプリケーション共通鍵を保持した仮ライセンスファイルを発行する。
【００４３】
ライセンスサーバ接続確認手段３８６は、ライセンスサーバ１０１に接続できるかどうかを確認する手段である。仮アプリケーションファイル発行要求受信手段３８７は、仮アプリケーションファイル発行要求を受信する手段である。仮電子署名付与手段３８８は、電子データに対して、仮電子署名保持手段３７４により保持されている仮電子署名を付与する手段である。仮識別子有効化手段３８９は、署名済アプリケーションファイルテーブル９１１の仮識別子９１７を"有効"の状態にする手段である。仮アプリケーションファイル暗号化手段３９０は、実行可能アプリケーションファイルを暗号化仮アプリケーションファイルにするための手段である。
【００４４】
仮アプリケーション情報格納手段３９１は、バンドル識別子、バンドルバージョン、バンドル名、アプリケーション共通鍵、アプリケーションパスを関連付けて仮アプリケーションの登録履歴を管理するレコードとして格納する。具体的には、仮アプリケーション情報格納手段３９１が仮アプリケーションファイル登録履歴テーブル５３１のレコードとして上記情報が格納される。
【００４５】
仮ライセンス番号格納手段３９２は仮発行ライセンス番号格納要求を受信した際に仮発行ライセンス番号格納要求に含まれる仮発行ライセンス番号を仮発行ライセンス発行履歴テーブル５１１に格納する手段である。仮アプリケーションファイル発行手段３９３は暗号化仮アプリケーションファイルを発行するための手段である。
【００４６】
図４は、図１に示したライセンスサーバ１０１のハードディスク２２４で保持する各種テーブルの例を示す図である。
図４の（Ａ）はアプリケーション情報テーブル４０１で、各レコードは、アプリケーション情報登録手段３２１により実行可能アプリケーションファイルがライセンスサーバ１０１に登録される単位で追加される。
【００４７】
アプリケーション識別子カラム４０２は、アプリケーション情報テーブル４０１内でアプリケーション情報を一意に識別するためのアプリケーション識別子を格納するカラムである。アプリケーション識別子はアプリケーション情報テーブル４０１にレコードを追加されると自動的に番号が割り振られる。
バンドル識別子カラム４０３は、ライセンスサーバ１０１に登録された実行可能アプリケーションファイルのバンドル識別子を格納するカラムである。バンドルバージョンカラム４０４は、ライセンスサーバ１０１に登録された実行可能アプリケーションファイルのバンドルバージョンを格納するカラムである。バンドル名カラム４０５は、ライセンスサーバ１０１に登録された実行可能アプリケーションファイルのバンドル名を格納するカラムである。
【００４８】
アプリケーション共通鍵カラム４０６は、ライセンスサーバ１０１に登録された実行可能アプリケーションファイルを暗号化アプリケーションファイルに暗号化した際に使用したアプリケーション共通鍵を格納するカラムである。
【００４９】
アプリケーションパスカラム４０７は、ライセンスサーバ１０１に登録された実行可能アプリケーションファイルを暗号化した暗号化アプリケーションファイルを格納したパスを格納するカラムである。
図４の（Ｂ）は商品情報テーブル４１１で、各レコードは、商品情報登録手段３２２によりアプリケーション情報に対して商品登録をした単位で追加される。
商品識別子カラム４１２は商品情報を一意に識別する商品識別子を格納するカラムである。商品名カラム４１３は商品名を格納するカラムである。権利数カラム４１４は実行可能アプリケーションファイルを利用できる権利数を格納するカラムである。バンドル識別子カラム４１５は、商品情報で利用可能となるアプリケーション情報のバンドル識別子を格納するカラムである。
【００５０】
図４の（Ｃ）は、ライセンス番号情報テーブル４２１で、各レコードは、ライセンス番号発行手段３２３により発行したライセンス番号単位で作成される。ライセンス番号カラム４２２は発行したライセンス番号を格納するカラムである。商品識別子カラム４２３はライセンス番号で利用可能となる商品情報の商品識別子を格納するカラムである。
【００５１】
図４の（Ｄ）は、ライセンス情報テーブル４３１で、各レコードは、正規ライセンスファイル発行手段３２４により正規ライセンスファイルを発行した際にライセンス番号の単位で作成される。ライセンス番号カラム４３２は正規ライセンスファイル発行手段３２４を実行する際に引数となったライセンス番号を格納するカラムである。
デバイス識別子カラム４３３は正規ライセンスファイル発行手段３２４を実行する際に引数となったデバイス識別子を格納するカラムである。ライセンスカラム４３４は正規ライセンスファイル発行手段３２４により生成された正規ライセンスファイルのパスを格納するカラムである。
【００５２】
図５は、図１に示した緊急用ライセンスサーバ１２２のハードディスク２２４で保持するテーブルの例を示す図である。
図５の（Ａ）において、５０１はアプリケーション共通鍵テーブルで、各レコードは、アプリケーション共通鍵格納手段３８２によりバンドル識別子単位で登録される。バンドル識別子カラム５０２は、バンドル識別子を格納するカラムである。アプリケーション共通鍵カラム５０３は、アプリケーション共通鍵を格納するカラムである。
【００５３】
図５の（Ｂ）において、５１１は仮発行ライセンスファイル発行履歴テーブルで、仮発行ライセンス番号カラム５１２は、仮発行ライセンス番号を格納する手段である。また、仮発行ライセンス番号カラム５１２に登録される仮発行ライセンス番号は仮ライセンス番号格納手段３９２により登録がされる。
【００５４】
図５の（Ｃ）において、５２１は仮ライセンスファイル発行履歴テーブルで、各レコードは、仮ライセンスファイル発行手段３８５により仮ライセンスファイルが発行される単位で登録される。ライセンス番号カラム５２２は、発行した仮ライセンスファイルに含めたライセンス番号を格納するカラムである。
有効期限カラム５２３は、発行した仮ライセンスファイルで利用可能となる有効期限を格納するカラムである。デバイス識別子カラム５２４は、仮ライセンスファイル発行時に指定されたデバイス識別子を格納するカラムである。バンドル識別子カラム５２５は、仮ライセンスファイル発行時に指定された仮アプリケーションファイルのバンドル識別子を格納するカラムである。
バンドルバージョンカラム５２６は、仮ライセンスファイル発行時に指定された仮アプリケーションファイルのバンドルバージョンを格納するカラムである。ライセンスカラム５２７は、発行した仮ライセンスファイルのパスを格納するカラムである。アプリケーション共通鍵カラム５２８は、発行した仮ライセンスファイルに含めたアプリケーション共通鍵を格納するカラムである。
【００５５】
図５の（Ｄ）において、５３１は仮アプリケーションファイル登録履歴テーブルで、各レコードは、仮アプリケーション情報格納手段３９１により登録される。仮アプリケーション識別子カラム５３２は、仮アプリケーションファイル登録履歴テーブル５３１内で仮アプリケーション情報を一意に識別するための仮アプリケーション識別子を格納するカラムである。仮アプリケーション識別子は仮アプリケーションファイル登録履歴テーブル５３１にレコードを追加されると自動的に番号が割り振られる。
【００５６】
バンドル識別子カラム５３３は、仮アプリケーション情報格納手段３９１により指定されたバンドル識別子を格納するカラムである。バンドルバージョンカラム５３４は、仮アプリケーション情報格納手段３９１により指定された仮アプリケーションファイルのバンドルバージョンを格納するカラムである。バンドル名カラム５３５は、仮アプリケーション情報格納手段３９１により指定された仮アプリケーションファイルのバンドル名を格納するカラムである。
【００５７】
アプリケーション共通鍵カラム５３６は、仮アプリケーション情報格納手段３９１により指定されたアプリケーション共通鍵を格納するカラムである。アプリケーションパスカラム５３７は、仮アプリケーション情報格納手段３９１により指定されたアプリケーションパスを格納するカラムである。
【００５８】
図６は、図１に示した画像形成装置１１２のハードディスク２０８で保持するテーブルの例を示す図である。
なお、図６の（Ｂ）において、アプリケーションファイルテーブル６０１は、画像形成装置１１２にインストールされた実行可能アプリケーションファイルおよびライセンスファイルの情報を格納するテーブルである。バンドル識別子カラム６０２はインストールされた実行可能アプリケーションファイルのバンドル識別子を格納するカラムである。バンドルバージョンカラム６０３はインストールされた実行可能アプリケーションファイルのバンドルバージョンを格納するカラムである。
仮ライセンスカラム６０４は、インストールした際に利用したライセンスファイルが仮ライセンスファイルかどうかのフラグを格納するカラムである。仮ライセンスファイルを用いてインストールした場合には「true」、正規ライセンスファイルを用いてインストールした場合には「false」が格納される。利用可能日数カラム６０５は、実行可能アプリケーションが利用可能である日数を格納するカラムである。
【００５９】
ライセンス番号カラム６０６は、インストールした際に利用したライセンスファイルが仮ライセンスファイルであった場合に、仮ライセンスファイルに含まれていたライセンス番号を格納するカラムである。
【００６０】
図７は、図１に示した画像形成装置１１２が提供する画面の例を示す図である。
図７Ａはインストール画面７０１であり、インストール画面表示手段１５０１により生成される画面である。オフラインインストールラジオボタン７０２は、インターネット１０２を経由しないオフラインでのアプリケーションのインストールを顧客が希望する際に選択してもらうラジオボタンである。オンラインインストールラジオボタン７０３は、インターネット１０２を経由してのオンラインでアプリケーションのインストールを顧客が希望する際に選択してもらうラジオボタンである。１６０１はオンラインでバージョンアップアプリケーションのインストールを実行する場合に指示されるラジオボタンである。１６０２はオフラインでバージョンアップアプリケーションのインストールを実行する場合に指示されるラジオボタンである。１６０７はインストールボタンである。
【００６１】
図７Ｂはアプリケーション管理画面７１１であり、仮アプリケーション管理画面表示手段３５８により生成される画面である。アプリケーション管理画面７１１は情報処理装置１１１のブラウザを利用して表示部２２１に表示してもよいし、画像形成装置１１２の表示部２１１に表示してもよい。
バンドル名ラベル７１２は、現在インストールされている実行可能アプリケーションファイルのバンドル名を表示するラベルである。バンドルバージョンラベル７１３は、現在インストールされている実行可能アプリケーションファイルのバンドルバージョンを表示するラベルである。有効期間ラベル７１４は、現状インストールされている実行可能アプリケーションファイルの有効期間を表示するラベルである。
【００６２】
正規アプリケーションインストールラベル７１５は、現状インストールされている実行可能アプリケーションを正規アプリケーションで上書きインストールするために、正規アプリケーションを発行するボタンを表示するラベルである。正規アプリケーション発行ボタン７１６は、現状インストールされている実行可能アプリケーションを正規アプリケーションで上書きインストールするために、正規アプリケーションを発行するボタンである。インストール制限表示ラベル７１７は、仮アプリケーションのインストールを制限する旨を表示するラベルである。
【００６３】
図８は、図１に示した緊急用ライセンスサーバ１２２が提供する画面の例を示す図である。本画面は、仮ライセンス発行画面に対応する。
図８において、仮ライセンスファイル発行画面８０１は、図３Ｃに示した仮ライセンスファイル発行画面表示手段３８３により生成される画面である。ライセンス番号テキストボックス８０２は、ライセンス番号を入力するためのテキストボックスである。デバイス識別子テキストボックス８０３は、デバイス識別子を入力するためのテキストボックスである。
アプリケーションテキストボックス８０４は、暗号化アプリケーションファイルを指定するためのテキストボックスである。発行ボタン８０５は、仮ライセンスを発行するためのボタンである。
【００６４】
図９Ａ、図９Ｂは、アプリケーションファイルおよびライセンスファイルの保持しているデータ構造を示す図である。
図９Ａの（Ａ）は実行可能アプリケーションファイル９０１の保持しているデータを表す図である。
図９Ａの（Ａ）において、バンドル識別子データ９０２はバンドル識別子を格納するデータである。バンドルバージョンデータ９０３はバンドルデータを格納するデータである。
バンドル名データ９０４はバンドル名を格納するデータである。
実行モジュール９０５は、画像形成装置１１２で動作可能なモジュールを格納するデータである。
図９Ａの（Ｂ）において、署名済アプリケーションファイルテーブル９１１の保持しているデータを表す図である。バンドル識別子データ９１２はバンドル識別子を格納するデータである。バンドルバージョンデータ９１３はバンドルデータを格納するデータである。バンドル名データ９１４はバンドル名を格納するデータである。
実行モジュール９１５は、画像形成装置１１２で動作可能なモジュールを格納するデータである。署名ファイル９１６は、電子署名を格納するデータである。
仮識別子９１７は、仮識別子を格納するデータである。
図９Ｂの（Ｃ）は、暗号化仮アプリケーションファイル９２１の保持しているデータを表す図である。バンドル識別子データ９２２はバンドル識別子を格納するデータである。バンドルバージョン９２３はバンドルデータを格納するデータである。バンドル名９２４はバンドル名を格納するデータである。暗号化ファイル９２５は、実行可能アプリケーションファイル９０１をアプリケーション共通鍵で暗号化したデータを格納するデータである。
図９Ｂの（Ｄ）は、正規ライセンスファイル９３１の保持しているデータを表す図である。
バンドル識別子データ９３２は、この正規ライセンスファイルでインストールが可能となる暗号化アプリケーションファイルのバンドル識別子を格納するデータである。
【００６５】
デバイス識別子データ９３３は、この正規ライセンスファイルでインストールが可能となる画像形成装置１１２のデバイス識別子を格納するデータである。複数の画像形成装置１１２にインストールが可能なライセンスファイルの場合には複数のデバイス識別子が格納される。アプリケーション共通鍵９３４は、この正規ライセンスでインストールが可能となる暗号化アプリケーションファイルのアプリケーション共通鍵を格納するデータである。
図９Ｂの（Ｅ）は仮ライセンスファイル９４１の保持しているデータを表す図である。
バンドル識別子データ９４２は、この仮ライセンスファイルでインストールが可能となる暗号化アプリケーションファイルのバンドル識別子を格納するデータである。
【００６６】
デバイス識別子９４３は、この仮ライセンスファイルでインストールが可能となる画像形成装置１１２のデバイス識別子を格納するデータである。複数の画像形成装置１１２にインストールが可能なライセンスファイルの場合には複数のデバイス識別子が格納される。アプリケーション共通鍵９４４は、この仮ライセンスファイルでインストールが可能となる暗号化アプリケーションファイルのアプリケーション共通鍵を格納するデータである。
ライセンス番号９４５は、ライセンスサーバ１０１に接続できるようになった場合に正規ライセンスファイルを取得するためのライセンス番号を格納するデータである。
利用可能日数９４６は、この仮ライセンスファイルでインストールが可能となる暗号化アプリケーションファイルの有効期間を格納するデータである。
以降、図１０から本発明について、フローチャートを用いて第１実施形態を説明する。
【００６７】
図１０は、本実施形態を示すサーバ装置における制御方法を説明するフローチャートである。本例は、緊急用ライセンスサーバ１２２の仮アプリケーションファイル発行要求受信手段３８７が情報処理装置１２１から仮アプリケーションファイル発行要求を受信したことにより実行される処理例である。
なお、各ステップは、緊急用ライセンスサーバ１２２のハードウエアであるＣＰＵ２２３がハードディスク２２４に記憶された制御プログラムを実行することで実現される。以下、図３Ｃに示したモジュールを主体として処理の詳細を説明する。なお、本処理の説明において、アプリケーションをアプリと略記する。
【００６８】
Ｓ１００１において、仮アプリファイル発行要求受信手段３８７は、ライセンスサーバ接続確認手段３８６を用いてライセンスサーバ１０１に接続ができるかどうかを判断する。もし接続できると仮アプリファイル発行要求受信手段３８７が判断した場合には仮アプリ登録を終了し、接続できないと判断した場合にはＳ１００２へ進む。
Ｓ１００２において、仮アプリファイル発行要求受信手段３８７は情報処理装置１２１から受信した仮アプリファイル発行要求から、アプリを取得する。Ｓ１００３において、仮アプリファイル発行要求受信手段３８７はＳ１００２において取得したアプリから、バンドル識別子を取得する。
【００６９】
Ｓ１００４において、仮アプリファイル発行要求受信手段３８７は仮電子署名付与手段３８８を用いてＳ１００２において取得したアプリに対して、仮電子署名を付与する。
【００７０】
Ｓ１００５において、仮アプリファイル発行要求受信手段３８７は仮識別子有効化手段３８９を用いてＳ１００４において仮電子署名を付与した署名済アプリに対して、仮識別子を"有効"の状態にする。
【００７１】
Ｓ１００６において、仮アプリファイル発行要求受信手段３８７はＳ１００３で取得したバンドル識別子が図５の（Ｄ）に示した仮アプリファイル登録履歴テーブル５３１に既に登録されているかを判断する。既に登録されていると仮アプリファイル発行要求受信手段３８７が判断した場合にはＳ１００９に進み、登録されていない場合には、Ｓ１００７へ進む。Ｓ１００７において、仮アプリファイル発行要求受信手段３８７はアプリ共通鍵生成手段３８１を用いて、アプリ共通鍵を作成する。
【００７２】
Ｓ１００８において、仮アプリファイル発行要求受信手段３８７はアプリ共通鍵格納手段３８２を用いて、Ｓ１００７で生成したアプリ共通鍵をＳ１００３で取得したバンドル識別子に対応付けてアプリ共通鍵テーブル５０１に格納する。具体的に追加するレコードは、Ｓ１００３で取得したバンドル識別子データ９０２、Ｓ１００７で生成したアプリ共通鍵データを、図５の（Ａ）に示したバンドル識別子カラム５０２、アプリ共通鍵カラム５０３の値として格納する。
【００７３】
Ｓ１００９において、仮アプリファイル発行要求受信手段３８７はアプリ共通鍵保持手段３７１を用いて、アプリ共通鍵テーブル５０１から取得したＳ１００３で取得したバンドル識別子に対応するアプリ共通鍵を取得する。
【００７４】
Ｓ１０１０において、仮アプリファイル発行要求受信手段３８７は仮アプリファイル暗号化手段３９０を用いて、Ｓ１００９で取得したアプリ共通鍵で、Ｓ１００５において仮識別子を有効化した署名済アプリを暗号化する。
【００７５】
Ｓ１０１１において、仮アプリファイル発行要求受信手段３８７は仮アプリ情報格納手段３９１を用いて、仮アプリファイル登録履歴テーブル５３１に対して新規レコードを追加する。具体的に追加するレコードは、暗号化仮アプリ９２１から取得したバンドル識別子９２２をバンドル識別子カラム５３３に、バンドルバージョン９２３をバンドルバージョンカラム５３４に、バンドル名９２４をバンドル名カラム５３５に格納する。
さらに、Ｓ１００９で取得したアプリ共通鍵を、アプリ共通鍵カラム５３６の値として格納する。また、登録した順に一意に値を決定する番号を仮アプリ識別子カラム５３２の値として、暗号化仮アプリ９２１のパスをアプリパスカラム５３７の値として格納する。Ｓ１０１２において、暗号化仮アプリファイル９２１をダウンロードできる画面を生成して、暗号化仮アプリ発行要求の応答として返す。
【００７６】
図１１は、本実施形態を示すサーバ装置の制御方法を説明するフローチャートである。本例は、緊急用ライセンスサーバ１２２の仮ライセンスファイル発行要求受信手段３８４が仮ライセンスファイル発行要求を受信した際に実行される処理例である。なお、各ステップは、緊急用ライセンスサーバ１２２のハードウエアであるＣＰＵ２２３がハードディスク２２４に記憶された制御プログラムを実行することで実現される。以下、図３Ｃに示したモジュールを主体として処理の詳細を説明する。
Ｓ１１０１において、仮ライセンスファイル発行要求受信手段３８４はライセンスサーバに接続できるかどうかライセンスサーバ接続確認手段３８６を用いて確認する。Ｓ１１０２において、仮ライセンスファイル発行要求受信手段３８４はライセンスサーバに接続できることを通知するメッセージを表示して処理を終了する。
Ｓ１１０３において、仮ライセンスファイル発行要求受信手段３８４は仮ライセンスファイル発行要求から暗号化仮アプリを取得する。Ｓ１１０４において、仮ライセンスファイル発行要求受信手段３８４は仮ライセンスファイル発行要求からデバイス識別子を取得する。
【００７７】
Ｓ１１０５において、仮ライセンスファイル発行要求受信手段３８４は仮発行ライセンスファイル発行履歴テーブル５１１の仮発行ライセンス番号カラム５１２から未使用の仮発行ライセンス番号を取得する。Ｓ１１０６において、仮ライセンスファイル発行要求受信手段３８４はＳ１１０３で取得した図９Ｂに示す暗号化仮アプリファイル９２１からバンドルバージョン９２３を取得する。
【００７８】
Ｓ１１０７において、仮ライセンスファイル発行要求受信手段３８４はＳ１１０６で取得したバンドル識別子に対応するアプリ共通鍵をアプリ共通鍵テーブル５０１から取得する。
【００７９】
Ｓ１１０８において、仮ライセンスファイル発行要求受信手段３８４は仮ライセンスファイル発行手段３８５を用いて仮ライセンスファイル９４１を発行する。仮ライセンスファイル発行手段３８５で渡すライセンス番号の引数にはＳ１１０５で取得した仮発行ライセンス番号を渡す。
【００８０】
Ｓ１１０９において、仮ライセンスファイル発行履歴テーブル５２１に新しくレコードを追加する。追加するレコードのライセンス番号カラム５２２には、Ｓ１１０５で取得した仮発行ライセンス番号を格納する。また追加するレコードの有効期限カラム５２３には３０を固定で設定し、ライセンスカラム５２７にはＳ１１０８で発行した仮ライセンスファイル９４１のパスを格納する。また追加するレコードのデバイス識別子カラム５２４にはＳ１１０４で取得したデバイス識別子を格納する。
【００８１】
またＳ１１０３で取得した暗号化仮アプリファイル９２１から取得したバンドル識別子９２２をバンドル識別子カラム５２５に、バンドルバージョン９２３をバンドルバージョンカラム５２６の値として格納する。Ｓ１１１０において、仮ライセンスファイル９４１をダウンロードできる画面を生成して、仮ライセンスファイル発行要求の応答として返す。
図１２Ａ、図１２Ｂは、本実施形態を示す画像形成装置の制御方法を説明するフローチャートである。本例は、画像形成装置１１２のオフラインインストール要求受信手段３５２がオフラインインストール要求を受信したことにより実行される処理例である。なそ、各ステップは、ＣＰＵ２０７がハードディスク２０８等に記憶された制御プログラムを実行することで実現される。以下、画像形成装置１１１２のモジュールを主体として処理を説明する。
Ｓ１２０１において、オフラインインストール要求受信手段３５２は受信したオフラインインストール要求から暗号化仮アプリファイルを取得する。Ｓ１２０２において、オフラインインストール要求受信手段３５２は受信したオフラインインストール要求から図９の（Ｅ）に示す仮ライセンスファイル９４１を取得する。
【００８２】
Ｓ１２０３において、オフラインインストール要求受信手段３５２はライセンスサーバ接続確認手段３５４を用いてライセンスサーバ１０１に接続ができるかどうかを判断する。もし接続できたとオフラインインストール要求受信手段３５２が判断した場合にはＳ１２０４に進み、接続できないと判断した場合にはＳ１２１１に進む。
次に、Ｓ１２０４において、オフラインインストール要求受信手段３５２はＳ１２０２で取得した仮ライセンスファイル９４１からライセンス番号９４５を取得する。
【００８３】
そして、Ｓ１２０５において、オフラインインストール要求受信手段３５２はデバイス識別子取得手段３５９を用いて、Ｓ１２０２で取得した仮ライセンスファイル９４１からデバイス識別子９４３を取得する。
【００８４】
Ｓ１２０６において、オフラインインストール要求受信手段３５２はＳ１２０４で取得したライセンス番号９４５を用いてアプリファイル取得要求手段３５５を実行する。前記アプリファイル取得要求手段３５５はライセンスサーバ１０１に対して前記ライセンス番号９４５を含んだアプリファイル取得要求を出し、その応答として前記ライセンス番号９４５に対応した暗号化アプリファイルを取得する。
【００８５】
次に、Ｓ１２０７において、オフラインインストール要求受信手段３５２はＳ１２０４で取得したライセンス番号９４５とＳ１２０５で取得したデバイス識別子９４３を用いて正規ライセンスファイル発行要求手段３５６を実行する。前記正規ライセンスファイル発行要求手段３５６はライセンスサーバ１０１に対して前記ライセンス番号と前記デバイス識別子を含んだ正規ライセンスファイル発行要求を出す。そして、正規ライセンスファイル発行要求手段３５６はその応答としてＳ１２０６で取得した暗号化アプリファイルを前記デバイス識別子にインストール可能な正規ライセンスファイルを取得する。
【００８６】
次に、Ｓ１２０８において、オフラインインストール要求受信手段３５２はＳ１２０６で取得した暗号化アプリファイルとＳ１２０７で取得した正規ライセンスファイルを用いてインストール手段３５７でインストールする。
【００８７】
そして、Ｓ１２０９において、オフラインインストール要求受信手段３５２は、図６の（Ａ）に示した正規ライセンスファイル用の新規レコードをアプリファイルテーブル６０１に追加して処理を終了する。具体的には追加するレコードは、暗号化アプリファイルから取得した図９Ｂの（Ｃ）に示したバンドル識別子９２２のデータをバンドル識別子カラム６０２に、バンドルバージョン９２３をバンドルバージョンカラム６０３の値として格納する。また仮ライセンスカラム６０４の値として「false」を格納する。
次に、Ｓ１２１０において、オフラインインストール要求受信手段３５２は仮アプリインストール有効回数（インストール回数）のリセット処理（初期化処理）として、図１２Ｂの（Ａ）に示すフローチャートを実行する。
そして、Ｓ１２１１において、オフラインインストール要求受信手段３５２は仮アプリ電子署名認証処理として、図１２Ｂの（Ｂ）のフローチャートを実行する
図１２Ｂの（Ａ）は、Ｓ１２１０において呼び出される仮アプリインストール有効回数のリセット処理を行うフローチャートである。
【００８８】
図１２Ｂの（Ｂ）に示すＳ１２４１において、オフラインインストール要求受信手段３５２はアプリファイルテーブル６０１の仮ライセンスカラム６０４の値に「true」が存在するかどうか仮ライセンスインストール確認手段３６３を用いて確認する。もし"true"が存在する場合には仮アプリインストール有効回数リセット処理を終了し、"true"が存在しない場合にはＳ１２４２へ進む。
【００８９】
Ｓ１２４２において、オフラインインストール要求受信手段３５２は仮アプリインストール有効回数操作手段３６２を用いて、仮アプリインストール有効回数テーブル６１１の仮アプリインストール有効回数カラム６１２をリセットし、設定値無しの状態に戻す。
図１２Ｂの（Ａ）は、図１２ＡのＳ１２１１において呼び出される仮アプリ電子署名の認証処理を行うフローチャートである。
Ｓ１２５１において、オフラインインストール要求受信手段３５２は画像形成装置１１２が持つデバイス公開鍵を用いて、Ｓ１２０２で取得した図９Ｂの（Ｅ）に示した仮ライセンスファイル９４１を復号する。
【００９０】
Ｓ１２５２において、オフラインインストール要求受信手段３５２はＳ１２５１で復号した情報からアプリ共通鍵９４４を取得して、Ｓ１２０１で取得した図９Ｂの（Ｃ）に示した暗号化仮アプリファイル９２１を復号する。Ｓ１２５３において、オフラインインストール要求受信手段３５２はＳ１２５２で復号した署名済アプリファイルテーブル９１１から図９Ａの（Ｂ）に示した仮識別子９１７を取得する。
【００９１】
Ｓ１２５４において、オフラインインストール要求受信手段３５２は仮識別子判断手段３６０を用いて、Ｓ１２５３で取得した署名済みアプリファイル９１１の仮識別子９１７の有効状態を判断する。もし仮識別子９１７が有効状態であると判断した場合にはＳ１２５５へ進み、仮識別子９１７が有効状態でないと判断した場合にはＳ１２６０へ進む。
【００９２】
Ｓ１２５５で、オフラインインストール要求受信手段３５２は仮アプリインストール有効回数判断手段３６１を用いて仮アプリインストール有効回数テーブル６１１の図６の（Ｂ）に示す仮アプリインストール有効回数カラム６１２が「０」かどうかを判断する。もし仮アプリインストール有効回数カラム６１２が「０」で無いと判断した場合にはＳ１２５６へ進み、「０」であると判断した場合にはＳ１２６３へ進む。
【００９３】
Ｓ１２５６において、オフラインインストール要求受信手段３５２は仮アプリインストール有効回数判断手段３６１を用いて、仮アプリインストール有効回数テーブル６１１の仮アプリインストール有効回数カラム６１２が設定されているかどうかを確認する。もし仮アプリインストール有効回数カラム６１２が設定されていると判断した場合にはＳ１２５８へ進み、仮アプリインストール有効回数カラム６１２が設定されていないと判断した場合にはＳ１２５７へ進む。
【００９４】
Ｓ１２５７において、オフラインインストール要求受信手段３５２は仮アプリインストール有効回数操作手段３６２を用いて、仮アプリインストール有効回数テーブル６１１の仮アプリインストール有効回数カラム６１２を本実施形態では「３」に設定する。Ｓ１２５８において、オフラインインストール要求受信手段３５２は署名済アプリファイルテーブル９１１の署名ファイル９１６（図９Ａの（Ｂ）参照）を仮署名鍵で認証する。
【００９５】
Ｓ１２５９において、オフラインインストール要求受信手段３５２は仮アプリインストール有効回数操作手段３６２を用いて、仮アプリインストール有効回数テーブル６１１の仮アプリインストール有効回数カラム６１２の数値から１を減算する。Ｓ１２６０において、オフラインインストール要求受信手段３５２は署名済アプリファイルテーブル９１１の署名ファイル９１６を通常署名鍵で認証する。
【００９６】
Ｓ１２６１において、オフラインインストール要求受信手段３５２はインストール手段３５７を用いて、Ｓ１２０１で取得した暗号化仮アプリファイル９２１と、Ｓ１２０２で取得した仮ライセンスファイル９４１とをインストールする。
【００９７】
Ｓ１２６２において、オフラインインストール要求受信手段３５２は仮ライセンスファイル用の新規レコードをアプリファイルテーブル６０１に追加して処理を終了する。具体的には、追加するレコードは、図９Ｂに示す暗号化仮アプリファイル９２１から取得したバンドル識別子９２２のデータをバンドル識別子カラム６０２に、バンドルバージョン９２３をバンドルバージョンカラム６０３の値として格納する。
さらに、仮ライセンスファイル９４１から取得したライセンス番号９４５をライセンス番号カラム６０６の値として格納する。また仮ライセンスカラム６０４の値として「true」、利用可能日数カラム６０５の値として「３０」を固定で設定する。
Ｓ１２６３において、オフラインインストール要求受信手段３５２は仮アプリファイルがインストールできないことを通知するメッセージを表示して処理を終了する。
【００９８】
図１３Ａは、本実施形態を示すサーバ装置の制御方法を説明するフローチャートである。本例は、図１に示したライセンスサーバ１０１の仮アプリ登録履歴登録要求受信手段３２８が情報処理装置１２１から仮アプリ登録履歴登録要求を受信した際に実行される処理例である。なお、各ステップは、ライセンスサーバ１０１のハードウエアであるＣＰＵ２２３がハードディスク２２４に記憶された制御プログラムを実行することで実現される。以下、モジュールを主体として処理の詳細を説明する。
Ｓ１３０１において、仮アプリ登録履歴登録要求受信手段３２８は未登録アプリ正規登録処理として、後述する図１３Ｂの（Ａ）のフローチャートを実行する。次に、Ｓ１３０２において、仮ライセンスファイル発行履歴登録要求受信手段３３３は仮ライセンスファイル発行履歴登録要求から図５の（Ｂ）に示す仮ライセンスファイル発行履歴テーブル５２１を取得する。Ｓ１３０３において、仮ライセンスファイル発行履歴登録要求受信手段３３３は
【００９９】
Ｓ１３０２で取得した仮ライセンスファイル発行履歴テーブル５２１で未処理の発行履歴が存在するかどうかをチェックする。ここで、もし存在すると判断した場合はＳ１３０４に進み、存在しないと判断した場合は処理を終了する。
Ｓ１３０４において、仮ライセンスファイル発行履歴登録要求受信手段３３３は、Ｓ１３０２で取得した仮ライセンスファイル発行履歴テーブル５２１から未処理の発行履歴を１件取得する。Ｓ１３０５において、仮ライセンスファイル発行履歴登録要求受信手段３３３はＳ１３０４で取得した発行履歴のレコードのライセンス番号カラム５２２からライセンス番号を取得する。Ｓ１３０６において、仮ライセンスファイル発行履歴登録要求受信手段３３３はＳ１３０４で取得した発行履歴のレコードのデバイス識別子カラム５２４からデバイス識別子を取得する。
【０１００】
Ｓ１３０７において、仮ライセンスファイル発行履歴登録要求受信手段３３３はＳ１３０４で取得した発行履歴のレコードのアプリ共通鍵カラム５２８からアプリ共通鍵を取得する。次に、Ｓ１３０８において、仮ライセンスファイル発行履歴登録要求受信手段３３３はＳ１３０４で取得した発行履歴のレコードのバンドル識別子カラム５２５からバンドル識別子を取得する。
【０１０１】
Ｓ１３０９において、仮ライセンスファイル発行履歴登録要求受信手段３３３はＳ１３０８で取得したバンドル識別子と図４の（Ｂ）に示すバンドル識別子カラム４１５の値が一致するレコードを商品情報一覧として商品情報テーブル４１１から取得する。
【０１０２】
Ｓ１３１０において、仮ライセンスファイル発行履歴登録要求受信手段３３３はＳ１３０９で取得した商品情報一覧の権利数カラム４１４の値が、Ｓ１３０６で取得したデバイス識別子の数よりも多い商品情報を商品情報一覧として取得する。
【０１０３】
Ｓ１３１１において、仮ライセンスファイル発行履歴登録要求受信手段３３３はＳ１３１０で取得した商品情報一覧のレコード数が「２」以上かどうかを判断する。もし２以上であると判断した場合にはＳ１３１２に進み、異なると判断した場合にはＳ１３１３に進む。Ｓ１３１２において、仮ライセンスファイル発行履歴登録要求受信手段３３３は商品選択処理として図１３Ｂの（Ｂ）のフローチャートを実行する。
【０１０４】
図１３Ａに示すＳ１３１３において、仮ライセンスファイル発行履歴登録要求受信手段３３３はＳ１３０５で取得したライセンス番号とＳ１３１０で取得した商品情報とを紐付けをする。具体的にはＳ１３０５で取得したライセンス番号に一致するライセンス番号カラム４２２の値を持つライセンス番号情報をライセンス番号情報テーブル４２１から取得する。そして前記ライセンス番号情報の商品識別子カラム４２３にＳ１３１０で取得した商品情報の商品識別子カラム４１２から商品識別子を格納する。
【０１０５】
Ｓ１３１４において、仮ライセンスファイル発行履歴登録要求受信手段３３３は正規ライセンスファイル発行手段３２４を用いて正規ライセンスファイルを、正規アプリファイル発行手段３２６を用いて正規アプリファイルを発行する。正規ライセンスファイル発行手段３２４、正規アプリファイル発行手段３２６の引数にはＳ１３０６乃至Ｓ１３０８で取得したデバイス識別子、アプリ共通鍵、バンドル識別子を渡す。
【０１０６】
Ｓ１３１５において、仮ライセンスファイル発行履歴登録要求受信手段３３３はライセンス情報テーブル４３１に新規にライセンス情報レコードを追加する。追加するライセンス情報レコードのカラム４３２乃至４３４にはＳ１３０５で取得したライセンス番号とＳ１３０６で取得したデバイス識別子とＳ１３１４で発行した正規ライセンスファイルのパスを格納する。
【０１０７】
図１３Ｂの（Ａ）は、ライセンスサーバ１０１の仮アプリ登録履歴登録要求受信手段３２８が情報処理装置１２１から仮アプリ登録履歴登録要求を受信した際に実行される処理例である。なお、各ステップは、ライセンスサーバ１０１のハードウエアであるＣＰＵ２２３がハードディスク２２４に記憶された制御プログラムを実行することで実現される。以下、モジュールを主体として処理の詳細を説明する。
Ｓ１３３１において、仮アプリ登録履歴登録要求受信手段３２８は仮アプリ登録履歴登録要求から仮アプリファイル登録履歴テーブル５３１を取得する。
【０１０８】
Ｓ１３３２において、仮アプリ登録履歴登録要求受信手段３２８はＳ１３３１で取得した仮アプリファイル登録履歴テーブル５３１で未処理の発行履歴が存在するかどうかをチェックする。もし未処理の発行履歴が存在すると判断した場合はＳ１３３３に進み、存在しないと判断した場合は処理を終了する。
Ｓ１３３３において、仮アプリ登録履歴登録要求受信手段３２８は、Ｓ１３３１で取得した仮アプリファイル登録履歴テーブル５３１から未処理の発行履歴を１件取得する。Ｓ１３３４において、仮アプリ登録履歴登録要求受信手段３２８はＳ１３３３で取得した登録履歴のレコードのバンドル識別子カラム５３３からバンドル識別子を取得する。
【０１０９】
Ｓ１３３５において、仮アプリ登録履歴登録要求受信手段３２８はＳ１３３３で取得した登録履歴のレコードのバンドルバージョンカラム５３４からバンドルバージョンを取得する。
【０１１０】
Ｓ１３３６において、仮アプリ登録履歴登録要求受信手段３２８は未登録アプリ正規登録画面表示手段３３０を用いて、図１４の（Ｂ）に示す未登録アプリ正規登録画面１４１１を表示する。未登録アプリ正規登録画面１４１１を表示後は待機をし、未登録アプリ正規登録画面１４１１の登録ボタン１４１２が押下されてアプリ登録要求を受信した後はＳ１３３７に進む。Ｓ１３３７において、仮アプリ登録履歴登録要求受信手段３２８はアプリ登録要求から実行可能アプリファイル９０１を取得する。Ｓ１３３８において、仮アプリ登録履歴登録要求受信手段３２８はＳ１３３７で取得した実行可能アプリファイル９０１からアプリパスを取得する。
【０１１１】
Ｓ１３３９において、仮アプリ登録履歴登録要求受信手段３２８はＳ１３３７で取得したバンドル識別子とＳ１３３８で取得したバンドルバージョンがアプリ情報テーブル４０１に既に登録されているかを判断する。既に登録されている場合にはＳ１３４１に進み、登録されていない場合には、Ｓ１３４０に進む。
【０１１２】
Ｓ１３４０において、仮アプリ登録履歴登録要求受信手段３２８はアプリ情報用の新規レコードをアプリ情報テーブル４０１に追加する。具体的に追加するレコードは、Ｓ１３３３において取得した仮アプリファイル登録履歴テーブル５３１からさらに取得したバンドル識別子カラム５３３のデータをバンドル識別子カラム４０３に格納する。同様に、仮アプリ登録履歴登録要求受信手段３２８はバンドルバージョンカラム５３４のデータをバンドルバージョンカラム４０４に格納する。同様に、仮アプリ登録履歴登録要求受信手段３２８はバンドル名カラム５３５のデータをバンドル名カラム４０５に、アプリ共通鍵カラム５３６のデータをアプリ共通鍵カラム４０６の値として格納する。また、登録した順に一意に値を決定する番号をアプリ識別子４０２の値として格納する。
【０１１３】
Ｓ１３４１において、仮アプリ登録履歴登録要求受信手段３２８は未登録商品登録画面表示手段３３１を用いて、図１４の（Ｃ）に示す未登録商品登録画面１４２１を表示する。未登録商品登録画面１４２１を表示後は待機をし、未登録商品登録画面１４２１の登録ボタン１４２８が押下されて商品登録要求を受信した後はＳ１３４２に進む。
【０１１４】
Ｓ１３４２において、仮アプリ登録履歴登録要求受信手段３２８は商品情報登録要求受信手段３３２を用いて、商品登録要求から商品識別子データ、商品名、権利数を取得する。
【０１１５】
Ｓ１３４３において、仮アプリ登録履歴登録要求受信手段３２８は商品情報用の新規レコードを商品情報テーブル４１１に追加する。具体的に追加するレコードは、Ｓ１３４１において取得した商品識別子データ１４２５を商品識別子カラム４１２に格納する。同様に、仮アプリ登録履歴登録要求受信手段３２８は、商品名１４２６を商品名カラム４１３に、権利数を権利数カラム４１４に、Ｓ１３３９において取得したバンドル識別子をバンドル識別子カラム４１５の値として格納する。
なお、図１３Ｂの（Ｂ）は、図１３Ａに示したＳ１３１１において呼び出される商品選択処理を行う処理例である。
【０１１６】
Ｓ１３５１において、仮ライセンスファイル発行履歴登録要求受信手段３３３は商品選択画面表示手段３２９を用いて、図１４の（Ａ）に示す商品選択画面１４０１を表示する。商品選択画面１４０１を表示後は待機をし、商品選択画面１４０１の関連付けボタンが押下されて商品紐付け要求を受信した後はＳ１３５２へ進む。Ｓ１３５２において、仮ライセンスファイル発行履歴登録要求受信手段３３３は商品紐付け要求を受信する。
【０１１７】
Ｓ１３５３において、仮ライセンスファイル発行履歴登録要求受信手段３３３はＳ１３０５で取得したライセンス番号とＳ１３５２で取得した商品紐付け要求から取得した商品情報とを紐付けをする。
具体的にはＳ１３０５で取得したライセンス番号に一致するライセンス番号カラム４２２の値を持つライセンス番号情報をライセンス番号情報テーブル４２１から取得する。そして前記ライセンス番号情報の商品識別子カラム４２３にＳ１３５２で取得した商品情報の商品識別子カラム４１２から商品識別子を格納する。
【０１１８】
以上説明した本発明を適用できる第1実施形態により、仮アプリファイルと仮ライセンスファイルをインストールした画像形成装置内で、署名済みアプリに対して識別子を付与する仕組みを提供することができる。
また、画像形成装置内に、仮アプリファイルインストール有効回数を設定することにより、正規アプリによるインストールが行われなければ、何度も仮アプリファイルをインストールすることを防ぐ仕組みを提供できる。そのため、電子データに対して適切な署名鍵を画像形成装置内で自動選択することができ、また、悪意による電子データの不正継続利用を防止することができる。
【０１１９】
〔第２実施形態〕
第１実施形態では、暗号化仮アプリファイル９２１をインストールする際に使用する仮ライセンスファイル９４１にライセンス番号９４５を含めていた。そのライセンス番号９４５は、暗号化仮アプリファイル９２１を正規アプリに上書きインストールを行う際に使用し、画像形成装置１１２と正規アプリの関連付けを行うために必要な物である。さらに、ライセンス番号９４５を発行できるのが、ライセンスサーバ１０１のみであることから、あらかじめライセンスサーバ１０１から発行されているものを取得し、緊急用ライセンスサーバ１２２では使用していた。
【０１２０】
以上のことから、第１実施形態では、あらかじめ発行されていたライセンス番号９４５を使用して、暗号化仮アプリファイル９２１を正規アプリに上書きインストールをすることを前提としていた。しかし、元々、正規アプリが画像形成装置１１２にインストールされている場合には、次のような状況も考えられる。
その正規アプリを暗号化仮アプリファイル９２１によってバージョンアップを行う際には、その正規アプリに対するライセンス番号９４５を手に入れられない場合もある。そのような場合、正規アプリを画像形成装置１１２にインストールする際に使用する正規ライセンスファイル９３１を使用して、暗号化仮アプリファイル９２１を画像形成装置１１２にインストールを行うことはできる。
【０１２１】
しかし、その後、正規アプリに上書きインストールを行う際に、正規ライセンスファイルにライセンス番号９４５が含まれていないことから、画像形成装置１１２と正規アプリとの関連付けを行うことができなくなるという課題がある。
【０１２２】
そこで、第２実施形態では、仮ライセンスファイル９４１に含まれているライセンス番号９４５の代わりに、暗号化仮アプリファイル９２１に含まれているバンドル識別子９２２とバンドルバージョン９２３を引数とする。そこから、ライセンスサーバにおいて、先の二つの引数に一致するものを探し、一致したものを正規アプリとして、正規ライセンスファイル９３１のデバイス識別子９３３と関連付けを行う。前記関連付けを行うことにより、画像形成装置１１２は暗号化仮アプリに対して、正規アプリをインストールすることが可能となる。
【０１２３】
図１５は、本実施形態を示す情報処理システムのソフトウエアと情報保持手段との対応を示すブロック図である。
特に、図１５の（Ａ）は、本実施形態におけるライセンスサーバ１０１のソフトウエア構成例に対応する。
図１５の（Ａ）において、正規アプリ発行要求受信手段１５０６は、正規アプリ発行要求を受信する手段である。
図１５の（Ｂ）は、本実施形態を示す画像形成装置１１２のソフトウエア構成例に対応する。
図１５の（Ｂ）において、インストール画面表示手段１５０１は、インストール画面７０１を表示する手段である。オフラインバージョンアップアプリインストール要求受信手段１５０２はオフラインバージョンアップアプリインストール要求を受信する手段である。オンラインバージョンアップアプリインストール要求受信手段１５０３はオンラインバージョンアップアプリインストール要求を受信する手段である。
【０１２４】
ライセンスファイル判断手段１５０４は、オフラインバージョンアップアプリインストール要求受信手段１５０２より受信したライセンスファイルが正規ライセンスファイルかどうかを判断する手段である。具体的には、ライセンスファイルにライセンス番号が含まれているかどうかで判断を行い、ライセンス番号が含まれていなければ、正規ライセンスファイル９３１、ライセンス番号が含まれていれば、仮ライセンスファイル９４１とする。
【０１２５】
正規アプリファイル発行要求手段１５０５は、画像形成装置１１２のＮｅｔｗｏｒｋＩ／Ｆ２０５を経由してライセンスサーバ１０１に正規ライセンスファイル発行要求を出すための手段である。
【０１２６】
ここで、図７Ａを用いて本実施形態を示す画像形成装置１１２が提供する画面の例を説明する。本例は、インストール画面であり、画像形成装置１１２のインストール画面表示手段１５０１により生成される画面である。
【０１２７】
図７Ａにおいて、オンラインインストールラジオボタン１６０１は、インターネット１０２を経由してのオンラインでバージョンアップアプリのインストールを顧客が希望する際に選択してもらうラジオボタンである。
【０１２８】
オフラインインストールラジオボタン１６０２は、インターネット１０２を経由しないオフラインでバージョンアップアプリのインストールを顧客が希望する際に選択してもらうラジオボタンである。
ライセンステキストボックス１６０３は、オンラインでのアプリインストールをする際に暗号化仮アプリファイルを入力してもらうためのテキストボックスである。ライセンステキストボックス１６０４は、オンラインでのアプリインストールをする際にライセンスファイルを入力してもらうためのテキストボックスである。
【０１２９】
ライセンステキストボックス１６０５は、オフラインでのアプリインストールをする際に暗号化仮アプリファイルを入力してもらうためのテキストボックスである。ライセンステキストボックス１６０６は、オフラインでのアプリインストールをする際にライセンスファイルを入力してもらうためのテキストボックスである。
【０１３０】
インストールボタン１６０７は、画像形成装置１１２に対してアップアプリのインストール要求を送信するためのボタンである。インストールボタン１６０７を押下した際にオンラインインストールラジオボタン１６０１が選択されていた場合には画像形成装置１１２に対してオンラインバージョンアップアプリインストール要求を送信する。前記オンラインバージョンアップアプリインストール要求には、前記ライセンステキストボックス１６０３と、ライセンステキストボックス１６０４とで指定された値を含む。インストールボタン１６０７を押下した際にオフラインインストールラジオボタン１６０２が選択されていた場合には画像形成装置１１２に対してオフラインバージョンアップアプリインストール要求を送信する。前記オフラインバージョンアップアプリインストール要求には、前記ライセンステキストボックス１６０５と、ライセンステキストボックス１６０６とで指定された値を含む。以降、図１６から本発明について、フローチャートを用いて第２実施形態を説明する。
【０１３１】
図１６は、本実施形態を示す画像形成装置の制御方法を説明するフローチャートである。本例は、画像形成装置１１２のオフラインバージョンアップアプリインストール要求受信手段１５０２がオフラインバージョンアップアプリインストール要求を受信した際に実行される処理例である。もしくは、オフラインバージョンアップアプリインストール要求受信手段１５０２がオンラインバージョンアップアプリインストール要求を受信した際に実行される処理例である。以下、オフラインバージョンアップアプリインストール要求受信手段１５０２を、オフラインＶＵＰＩＳＴ要求受信手段１５０２と略記する。
【０１３２】
Ｓ１７０１において、オフラインＶＵＰＩＳＴ要求受信手段１５０２はライセンスサーバ接続確認手段３５４を用いてライセンスサーバ１０１に接続ができるかどうかを判断する。もし接続できたと判断した場合にはＳ１７０９へ進み、接続できないと判断した場合にはＳ１７０２へ進む。
【０１３３】
Ｓ１７０２において、オフラインＶＵＰＩＳＴ要求受信手段１５０２はオフラインバージョンアップアプリインストール要求から暗号化仮アプリファイル９２１を取得する。
【０１３４】
Ｓ１７０３において、オフラインＶＵＰＩＳＴ要求受信手段１５０２はオフラインバージョンアップアプリインストール要求からライセンスファイルを取得する。
【０１３５】
Ｓ１７０４において、オフラインＶＵＰＩＳＴ要求受信手段１５０２は、Ｓ１７０３で取得したライセンスファイルが仮ライセンスファイル９４１か正規ライセンスファイル９３１かどうかを判断する。もし、仮ライセンスファイル９４１であると判断した場合には、第１実施形態のＳ１２０１へ進み、正規ライセンスファイル９３１であると判断した場合には、Ｓ１７０５へ進む。
【０１３６】
Ｓ１７０５において、オフラインＶＵＰＩＳＴ要求受信手段１５０２はＳ１７０２で取得した暗号化仮アプリファイル９２１とライセンスＳ１７０３で取得した仮ライセンスファイル９４１を画像形成装置１１２にインストールする。
【０１３７】
Ｓ１７０６において、オフラインＶＵＰＩＳＴ要求受信手段１５０２はＳ１７０２で取得した暗号化仮アプリファイル９２１からバンドル識別子９２２のデータを取得する。
【０１３８】
Ｓ１７０７において、オフラインＶＵＰＩＳＴ要求受信手段１５０２はＳ１７０２で取得した暗号化仮アプリファイル９２１からバンドルバージョン９２３を取得する。
【０１３９】
Ｓ１７０８において、オフラインＶＵＰＩＳＴ要求受信手段１５０２は正規ライセンスファイル用の更新レコードをアプリファイルテーブル６０１で更新して処理を終了する。
具体的には、追加するレコードは、暗号化仮アプリファイル９２１から取得したバンドル識別子９２２のデータをバンドル識別子カラム６０２に、バンドルバージョン９２３をバンドルバージョンカラム６０３の値として更新する。さらに、仮ライセンスカラム６０４の値として"true"、利用可能日数６０５の値として３０を固定で設定する。
【０１４０】
Ｓ１７０９において、オンラインバージョンアップアプリインストール要求受信手段１５０３（オンラインＶＵＰＩＳＴ要求受信手段１５０３）はオンラインバージョンアップアプリインストール要求から暗号化仮アプリファイルを取得する。Ｓ１７０９において、オンラインＶＵＰＩＳＴ要求受信手段１５０３は暗号化仮アプリファイル９２１からバンドル識別子９２２を取得する。
Ｓ１７１０において、オンラインバージョンアップアプリインストール要求受信手段１５０３は暗号化仮アプリファイル９２１からバンドルバージョン９２３を取得する。
【０１４１】
Ｓ１７１１において、オンラインＶＵＰＩＳＴ要求受信手段１５０３はオンラインバージョンアップアプリインストール要求から正規ライセンスファイル９３１を取得する。Ｓ１７１２において、オンラインＶＵＰＩＳＴ要求受信手段１５０３は正規ライセンスファイル９３１からデバイス識別子９３３を取得する。
【０１４２】
Ｓ１７１３で、オンラインＶＵＰＩＳＴ要求受信手段１５０３はＳ１７０９で取得したバンドル識別子９２２とＳ１７１０で取得したバンドルバージョン９２３とＳ１７１２で取得したデバイス識別子を用いて正規アプリファイル発行要求手段１５０５を実行する。
前記正規アプリファイル発行要求手段１５０５はライセンスサーバ１０１に対して前記バンドル識別子と前記バンドルバージョン、前記デバイス識別子を含んだ正規アプリファイル発行要求を出す。そして正規アプリファイル発行要求手段１５０５はその応答として、Ｓ１７１１で取得した正規ライセンスファイル９３１で前期デバイス識別子にインストール可能な暗号化アプリを取得する。
【０１４３】
Ｓ１７１４においてオンラインＶＵＰＩＳＴ要求受信手段１５０３はＳ１７１３で取得した正規バージョンアップアプリファイルとＳ１７１１で取得した正規ライセンスファイル９３１を用いてインストール手段３５７でインストールする。
【０１４４】
Ｓ１７１５において、オンラインＶＵＰＩＳＴ要求受信手段１５０３は正規ライセンスファイル９３１用の更新レコードをアプリファイルテーブル６０１で更新してＳ１７１６に進む。具体的には、追加するレコードはＳ１７１３で取得した正規バージョンアップアプリから取得したバンドル識別子９２２のデータをバンドル識別子カラム６０２に、バンドルバージョン９２３をバンドルバージョンカラム６０３の値として更新する。さらに、仮ライセンスカラム６０４の値として"false"で更新する。
【０１４５】
Ｓ１７１６において、オンラインバージョンアップアプリインストール要求受信手段１５０３は仮アプリインストール有効回数リセット処理として、図１２Ｂの（Ａ）のフローチャートを実行する。
【０１４６】
図１７は、本実施形態を示すサーバ装置の制御方法を説明するフローチャートである。本例は、図１６に示すＳ１７１３の実行時に、ライセンスサーバ１０１の正規アプリ発行要求受信手段１５０６が正規アプリファイル発行要求手段１５０５からの正規アプリ発行要求を受信した際に実行される処理例である。なお、各ステップは、ライセンスサーバ１０１のハードウエアであるＣＰＵ２２３がハードディスク２２４に記憶された制御プログラムを実行することで実現される。以下、モジュールを主体として処理の詳細を説明する。
Ｓ１８０１において、正規アプリ発行要求受信手段１５０６は正規アプリ発行要求を受信する。Ｓ１８０２において、正規アプリ発行要求受信手段１５０６は正規アプリ発行要求から、バンドル識別子、バンドルバージョン、デバイス識別子を取得する。
【０１４７】
Ｓ１８０３おいて、正規アプリ発行要求受信手段１５０６はＳ１８０２で取得したバンドル識別子、バンドルバージョンに一致するものをアプリ情報テーブル４０１から取得する。Ｓ１８０４おいて、正規アプリ発行要求受信手段１５０６はＳ１８０３で取得した正規アプリをその応答として返し、処理を終了する。
【０１４８】
以上説明した本発明を適用できる第２の実施の形態により、ライセンス番号が取得できないことで関連付けをできなくなった場合でも、バンドル識別子とバンドルバージョンからバージョンアップを行うためのアプリ発行の仕組みを提供することができる。そのため、ライセンス番号がなくても関連付けを行うことができるようになり、正規アプリをインストールすることが可能となる。
【０１４９】
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア（プログラム）をパソコン（コンピュータ）等の処理装置（ＣＰＵ、プロセッサ）にて実行することでも実現できる。
【０１５０】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【符号の説明】
【０１５１】
１０１  ライセンスサーバ
１１１  情報処理装置
１１２  画像形成装置
１２２  緊急用ライセンスサーバ
【図１】
2015115625.tif 000003
【図２】
2015115625.tif 000004
【図３Ａ】
2015115625.tif 000005
【図３Ｂ】
2015115625.tif 000006
【図３Ｃ】
2015115625.tif 000007
【図４】
2015115625.tif 000008
【図５】
2015115625.tif 000009
【図６】
2015115625.tif 000010
【図７Ａ】
2015115625.tif 000011
【図７Ｂ】
2015115625.tif 000012
【図８】
2015115625.tif 000013
【図９Ａ】
2015115625.tif 000014
【図９Ｂ】
2015115625.tif 000015
【図１０】
2015115625.tif 000016
【図１１】
2015115625.tif 000017
【図１２Ａ】
2015115625.tif 000018
【図１２Ｂ】
2015115625.tif 000019
【図１３Ａ】
2015115625.tif 000020
【図１３Ｂ】
2015115625.tif 000021
【図１４】
2015115625.tif 000022
【図１５】
2015115625.tif 000023
【図１６】
2015115625.tif 000024
【図１７】
2015115625.tif 000025