説明

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

【課題】プログラムの改竄や不正な複製を抑制可能でありつつ、プログラムをインストールすることが可能なインストール技術を提供する。
【解決手段】SDカード136に記憶されるインストール情報には、融合機31の有するUSBメモリに対してライセンスサーバ2が作成したUSBシリアルIDが含まれ、当該USBシリアルIDと、インストール対象のファームウェアと作成された電子署名ファイルが含まれ、当該ファームウェアのインストーラと、SDカードシリアルIDとを用いて作成された電子署名ファイルが含まれる。融合機31は、SDカード136を介してインストール情報を取得すると、USBシリアルID及びSDカードシリアルIDを取得してこれらを用いて認証チェックを行い、ファームウェアをUSBメモリにインストールする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記憶媒体に記憶されたインストール情報を用いてプログラムをインストールする画像形成装置などの情報処理装置、インストール方法及びインストールシステムに関する。
【背景技術】
【0002】
従来より、プリンタやFAXなどの機能を有する画像形成装置では、ファームウェアなどのプログラムをSDカードなどの記憶媒体に記憶させ、プログラムの起動時に当該記憶媒体からプログラムを読み出して実行するものがある(例えば、特許文献1〜2参照)。このような技術においては、SDカードに記録されたプログラムの改竄や複製を防ぐため、ライセンスサーバを設置し、このライセンスサーバを介してSDカードのシリアルIDとプログラムとを関連付けてSDカード内にプログラムを記憶させている。シリアルIDとプログラムとの関連付けは、例えば、当該プログラムに対してシリアルIDを用いて電子署名ファイルを作成することにより行っている。そして、当該電子署名ファイルを用いて認証を行うことにより、プログラムをSDカードに安全にインストールすることができる。
【0003】
【特許文献1】特開2004−303222号公報
【特許文献2】特開2004−303221号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、SDカードなどの着脱自在な記憶媒体を使用する場合、画像形成装置においてSDカードを装着するためのスロットを用意する必要があり、画像形成装置内に備わる記憶媒体を使用する場合と比べてコストが高くなる恐れがある。また、SDカードを融合機に装着した際に接触不良などの問題によりSDカードに記憶されたプログラムにアクセスできなかったり、SDカード自体が取り外されてしまったり紛失してしまったりするという恐れがあった。このため、近年では、ファームウェアを融合機内に備わる記憶媒体に記憶させることが望まれている。しかし、従来の技術においては、SDカードに記憶されたファームウェアの複製は防止されているため、SDカードに記憶されたファームウェアを画像形成装置内の記憶媒体に複製することは容易にはできない。このため、ファームウェアをSDカードに安全に記憶させるという従来の技術を継承しつつ、当該ファームウェアを画像形成装置内の記憶媒体に記憶させることは容易ではなかった。
【0005】
本発明は、上記に鑑みてなされたものであって、プログラムの改竄や不正な複製を抑制可能でありつつ、プログラムをインストールすることが可能な画像形成装置などの情報処理装置、インストール方法及びインストールシステムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、請求項1にかかる発明は、情報処理装置であって、着脱自在な記憶媒体が装着される記憶媒体装着手段と、前記記憶媒体装着手段に装着された記憶媒体に記憶されているインストール情報を読み出す読出手段と、前記読出手段が読み出した前記インストール情報を用いて、インストール対象の対象プログラムを記憶手段に記憶させるインストール手段とを備え、前記インストール情報は、インストール対象の情報処理装置に対して作成された識別情報を用いて作成された第1のライセンス情報、前記記憶媒体に対して付与され当該記憶媒体に記憶されている記憶媒体識別情報を用いて作成された第2のライセンス情報及び前記対象プログラムを含むプログラム情報を含み、前記インストール手段は、前記記憶媒体に対して付与され当該記憶媒体に記憶されている記憶媒体識別情報を取得する媒体識別情報取得手段と、前記媒体識別情報取得手段が取得した前記記憶媒体識別情報と、前記読出手段が読み出した前記インストール情報に含まれる第1のライセンス情報及び第2のライセンス情報とを用いて前記プログラム情報の認証チェックを行い、当該認証が成功した場合に、前記対象プログラムを前記記憶手段に記憶させる記憶制御手段とを有することを特徴とする。
【0007】
請求項2にかかる発明は、請求項1にかかる発明において、前記プログラム情報は、前記対象プログラムを前記情報処理装置にインストールするためのインストーラを含み、 前記記憶制御手段は、前記読出手段が読み出した前記インストール情報に含まれる前記インストーラに従って、前記対象プログラム情報の認証チェックを行い、当該認証が成功した場合に、当該対象プログラムを前記記憶手段に記憶させることを特徴とする。
【0008】
請求項3にかかる発明は、請求項1にかかる発明において、前記第1のライセンス情報は、前記対象プログラム及び前記識別情報を用いて作成された第1の電子署名を含み、 前記記憶制御手段は、前記対象プログラム及び前記第1の電子署名を用いて、当該対象プログラムの認証チェックを行うことを特徴とする。
【0009】
請求項4にかかる発明は、請求項3にかかる発明において、前記インストール情報は、前記第1の電子署名と、前記識別情報との対応関係を示す対応関係情報を含み、前記記憶制御手段は、前記対応関係情報が示す対応関係に応じた前記第1の電子署名及び前記識別情報を取得し、取得した当該第1の電子署名及び当該識別情報と、前記対象プログラムとを用いて、当該対象プログラムの認証チェックを行うことを特徴とする。
【0010】
請求項5にかかる発明は、請求項4にかかる発明において、前記記憶制御手段は、前記対象プログラムの認証チェックにおける認証が成功した場合に、前記第1の電子署名を前記記憶手段に記憶させることを特徴とする。
【0011】
請求項6にかかる発明は、請求項5にかかる発明において、前記記憶制御手段は、前記対象プログラムの認証チェックにおける認証が成功した場合に、前記第1の電子署名を前記記憶手段に記憶させた後、当該第1の電子署名を前記記憶媒体から削除することを特徴とする。
【0012】
請求項7にかかる発明は、請求項4にかかる発明において、前記記憶制御手段は、前記対象プログラムの認証チェックにおける認証が成功した場合に、前記対応関係情報を前記記憶手段に記憶させることを特徴とする。
【0013】
請求項8にかかる発明は、請求項4にかかる発明において、前記記憶制御手段は、前記対象プログラムの認証チェックにおける認証が成功した場合に、前記識別情報を前記記憶手段に記憶させることを特徴とする。
【0014】
請求項9にかかる発明は、請求項1にかかる発明において、前記プログラム情報は、前記対象プログラムを実行する際に用いられる設定ファイルを含み、前記第1ライセンス情報は、前記設定ファイル及び前記識別情報を用いて作成された第3の電子署名を含み、前記記憶制御手段は、前記設定ファイル及び前記第3の電子署名を用いて、当該設定ファイルの認証チェックを行うことを特徴とする。
【0015】
請求項10にかかる発明は、請求項9にかかる発明において、前記インストール情報は、前記第3の電子署名と、前記識別情報との対応関係を示す対応関係情報を含み、前記記憶制御手段は、前記対応関係情報が示す対応関係に応じた前記第3の電子署名及び前記識別情報を取得し、取得した当該第3の電子署名及び当該識別情報と、前記設定ファイルとを用いて、当該設定ファイルの認証チェックを行うことを特徴とする。
【0016】
請求項11にかかる発明は、請求項10にかかる発明において、前記記憶制御手段は、前記設定ファイルの認証チェックにおける認証が成功した場合に、前記設定ファイルを前記記憶手段に記憶させることを特徴とする。
【0017】
請求項12にかかる発明は、請求項10にかかる発明において、前記記憶制御手段は、前記設定ファイルの認証チェックにおける認証が成功した場合に、前記第3の電子署名を前記記憶手段に記憶させることを特徴とする。
【0018】
請求項13にかかる発明は、請求項12にかかる発明において、前記記憶制御手段は、前記設定ファイルの認証チェックにおける認証が成功した場合に、前記第3の電子署名を前記記憶手段に記憶させた後、当該第3の電子署名を前記記憶媒体から削除することを特徴とする。
【0019】
請求項14にかかる発明は、請求項10にかかる発明において、前記記憶制御手段は、前記設定ファイルの認証チェックにおける認証が成功した場合に、前記対応関係情報を前記記憶手段に記憶させることを特徴とする。
【0020】
請求項15にかかる発明は、請求項10にかかる発明において、前記記憶制御手段は、前記設定ファイルの認証チェックにおける認証が成功した場合に、前記識別情報を前記記憶手段に記憶させることを特徴とする。
【0021】
請求項16にかかる発明は、請求項1にかかる発明において、前記第1のライセンス情報は、前記インストーラ及び前記記憶媒体識別情報を用いて作成された第2の電子署名を含み、前記記憶制御手段は、前記インストーラ及び前記第2の電子署名を用いて、当該インストーラの認証チェックを行うことを特徴とする。
【0022】
請求項17にかかる発明は、インストール方法であって、記憶媒体装着手段に装着された記憶媒体に記憶されているインストール情報を読み出す読出ステップと、前記読出ステップで読み出した前記インストール情報を用いて、インストール対象の対象プログラムを記憶手段に記憶させるインストールステップとを含み、前記インストール情報は、インストール対象の情報処理装置に対して作成された識別情報を用いて作成された第1のライセンス情報、前記記憶媒体に対して付与され当該記憶媒体に記憶されている記憶媒体識別情報を用いて作成された第2のライセンス情報及び前記対象プログラムを含むプログラム情報を含み、前記インストールステップは、前記記憶媒体に対して付与され当該記憶媒体に記憶されている記憶媒体識別情報を取得する媒体識別情報取得ステップと、前記媒体識別情報取得ステップで取得した前記記憶媒体識別情報と、前記読出手段が読み出した前記インストール情報に含まれる第1のライセンス情報及び第2のライセンス情報とを用いて前記プログラム情報の認証チェックを行い、当該認証が成功した場合に、前記対象プログラムを前記記憶手段に記憶させる記憶制御ステップとを含むことを特徴とする。
【0023】
請求項18にかかる発明は、インストールシステムであって、情報処理装置にインストールするための対象プログラムを着脱自在の記憶媒体に記憶させるサーバ装置であって、前記情報処理装置に対する識別情報を作成する識別情報作成手段と、前記記憶媒体に対して付与され当該記憶媒体に記憶されている記憶媒体識別情報を取得する媒体識別情報取得手段と、前記識別情報作成手段が作成した前記識別情報を用いて第1のライセンス情報を作成する第1ライセンス作成手段と、前記媒体識別情報取得手段が取得した前記媒体識別情報を用いて第2のライセンス情報を作成する第2ライセンス作成手段と、前記第1ライセンス作成手段が作成した第1のライセンス情報、前記第2ライセンス作成手段が作成した第2のライセンス情報及び前記対象プログラムを含むプログラム情報を前記記憶媒体に記憶させる記憶制御手段とを有するサーバ装置と、着脱自在な記憶媒体が装着される記憶媒体装着手段と、前記記憶媒体装着手段に装着された記憶媒体に記憶されているインストール情報を読み出す読出手段と、前記読出手段が読み出した前記インストール情報を用いて、インストール対象の対象プログラムを記憶手段に記憶させるインストール手段とを有し、前記インストール情報は、インストール対象の情報処理装置に対して作成された識別情報を用いて作成された第1のライセンス情報、前記記憶媒体に対して付与され当該記憶媒体に記憶されている記憶媒体識別情報を用いて作成された第2のライセンス情報及び前記対象プログラムを含むプログラム情報を含み、前記インストール手段は、前記記憶媒体に対して付与され当該記憶媒体に記憶されている記憶媒体識別情報を取得する媒体識別情報取得手段と、前記媒体識別情報取得手段が取得した前記記憶媒体識別情報と、前記読出手段が読み出した前記インストール情報に含まれる第1のライセンス情報及び第2のライセンス情報とを用いて前記プログラム情報の認証チェックを行い、当該認証が成功した場合に、前記対象プログラムを前記記憶手段に記憶させる記憶制御手段とを有する情報処理装置とを備えることを特徴とする。
【発明の効果】
【0024】
本発明によれば、着脱自在な記憶媒体に記憶された第1のライセンス情報及び第2のライセンス情報を用いてプログラム情報の認証チェックを行い、当該認証が成功した場合に対象プログラムを記憶手段に記憶させることにより、対象プログラムの改竄や不正な複製を抑制可能でありつつ、対象プログラムをインストールすることが可能である。
【0025】
また、本発明によれば、対応関係情報に示される対応関係に応じた第1の電子署名と、対象プログラムとを用いて、当該対象プログラムの認証チェックを行うことにより、結果的に、対象プログラムの不正な複製などを抑制することができる。また、認証が成功した後当該第1の電子署名を記憶手段に記憶させ、更に、当該第1の電子署名を記憶媒体から削除することにより、対象プログラムの不正な複製などをより効果的に抑制することができる。第3の電子署名についても同様である。
【発明を実施するための最良の形態】
【0026】
以下に添付図面を参照して、この発明にかかる情報処理装置、インストール方法及びインストールシステムの最良な実施の形態を詳細に説明する。
【0027】
(1)構成
<インストールシステムの構成>
図1は、本実施の形態に係るインストールシステムの構成を例示するブロック図である。本実施の形態に係るインストールシステムにおいては、クライアント装置1と、ライセンスサーバ2とがネットワークNTを介して接続される。クライアント装置1には、SDカード136が着脱自在に装着される。当該SDカード136は、融合機31にも着脱自在に装着される。SDカード136が装着されたクライアント装置1におけるユーザの操作に応じて、ライセンスサーバ2からファームウェアのインストールに係るデータがSDカード136にダウンロードされる。そして、ユーザがクライアント装置1から当該SDカード136を抜いて融合機31に装着すると、当該SDカード136にダウンロードされたファームウェアが融合機31にインストールされる。
【0028】
<融合機の構成>
図2は、融合機31のハードウェア構成を例示するブロック図である。融合機31は、コントローラ100と,操作パネル120と,FCU121と,エンジン部122とを含む。コントローラ100は、CPU101と,システムメモリ102と,ノースブリッジ(NB)103と,サウスブリッジ(SB)104と,ASIC106と,ローカルメモリ107と,ハードディスク装置(HDD)108と、NIC(ネットワークインターフェースカード)109と,SDカード用スロット110と,USBデバイス111と,IEEE1394デバイス112と,セントロニクス113とを含む。
【0029】
CPU101は、融合機31の全体制御を行うものである。例えばCPU101は、OS上にプロセスを起動して実行させる。NB103はブリッジである。SB104は、PCIバス(図示せず)とROMや周辺デバイス等とを接続するためのブリッジである。システムメモリ102は、融合機31の描画用メモリなどとして用いるメモリである。また、システムメモリ102には、融合機31の機種情報(例えば、機種モデル番号や型番等)が記憶されている。ローカルメモリ107はコピー用画像バッファ,符号バッファとして用いるメモリである。
【0030】
ASIC106は、画像処理用のハードウェア要素を有する画像処理用途向けのICである。HDD108は、画像データ,文書データ,プログラム,フォントデータ等の蓄積を行うストレージ(補助記憶装置)の一例である。NIC109は、融合機31をネットワークに接続するインターフェース機器である。
【0031】
SDカード用スロット110はSDカード136を挿抜可能なものであり、このSDカード用スロット110にSDカード136が挿入されることにより、当該SDカード136が融合機31に装着される。SDカード用スロット110はSDカードの挿入または抜き出しに応じた割り込みをSDカードステータスモニタドライバ(図示せず)に対して行う。USBデバイス111,IEEE1394デバイス112およびセントロニクス113は、夫々の規格に準じたインターフェースである。USBデバイス111には、USBメモリ115が接続される。USBメモリ115は、読み書き可能な不揮発性記憶媒体であり、ここでは融合機31に固定的に装備される。
【0032】
また、操作パネル120はオペレータからの入力操作を受け付けると共に、オペレータに向けた表示を行う操作部である。なお、FCU121はメモリを有しており、例えば融合機31の電源がOFFのときに受信したファクシミリデータを一時的に格納するために利用する。
【0033】
ここで、融合機31のCPU101がシステムメモリ102に記憶されたプログラムを実行することにより実現されるインストール機能について簡単に説明する。CPU101は、インストール対象のファームウェアが記憶されたSDカード136がSDカード用スロット110に挿入されると、当該ファームウェアを含む各種データの認証チェックを行い、各認証チェックが成功した場合、当該ファームウェアを融合機31のUSBメモリ115に記憶させる。このインストール機能については、後述の動作欄で詳述する。
【0034】
<SDカードの構成>
SDカード136は、融合機31及びクライアント装置1に挿抜可能で読み書き可能な不揮発性記憶媒体であり、当該SDカード136を一意に識別可能なSDカードシリアルIDを記憶している。
【0035】
<ライセンスサーバの構成>
次に、ライセンスサーバ2の構成について説明する。ライセンスサーバ2は、CPUと、システムメモリと、通信制御部と、HDDなどの記憶装置とこれらを接続する通信バス(いずれも図示せず)とを備えており、通常のコンピュータを利用したハードウェア構成となっている。CPUはシステムメモリ又はHDDに記憶されたプログラムを実行することによりライセンスサーバ2全体を制御する。通信制御部は、ライセンスサーバ2と他の装置との通信を制御する。システムメモリは、各種プログラムやデータを記憶する。HDDは、各種プログラムや各種データを記憶する。
【0036】
次に、ライセンスサーバ2のCPUがシステムメモリ又はHDDに記憶されたプログラムを実行することによりライセンスサーバ2において実現される機能について説明する。図3は、ライセンスサーバ2の機能的構成及びHDDに記憶されるデータベースを例示するブロック図である。ライセンスサーバ2は、ユーザI/F管理部20と、データ変換部21と、シリアルID管理部22と、署名作成部23との各機能を有する。また、ライセンスサーバ2のHDDには、シリアルIDデータベース24と、鍵データベース25と、ファームウェアデータベース26とが記憶される。これらのファームウェア及びその設定ファイル、そのインストーラ、ブートプログラム及びそのルートファイルシステムは、融合機31の機種情報に関連付けられている。
【0037】
ユーザI/F管理部20は、クライアント装置1との間のデータの送受信を制御する。データ変換部21は、インストール対象のファームウェアをクライアント装置1から要求された場合に、インストールされる対象のファームウェア及びその設定ファイルや、そのインストーラ及びブートファイルを取得し、これらに対して署名作成部23が作成した電子署名ファイルを取得し、これらを用いてクライアント装置1に送信するためのデータを作成する。シリアルID管理部22は、データ変換部21の要求に応じて、新たなUSBシリアルIDを作成してこれをシリアルIDデータベース24に登録したり、シリアルIDデータベース24に登録されたシリアルIDを読み出したり削除したりする。署名作成部23は、データ変換部21からの要求に応じて、電子署名ファイルを作成する。
【0038】
シリアルIDデータベース24には、ファームウェアをインストールする対象のUSBメモリ115に対してライセンスサーバ2が作成したUSBシリアルIDが記憶される。鍵データベース25には、インストールされる対象のファームウェア及びその設定ファイルや、そのインストーラ及びブートファイルに対して各々電子署名ファイルを作成するための公開鍵が記憶されている。ファームウェアデータベース26には、融合機31にインストールされる対象のファームウェア及びその設定ファイルや、そのインストーラや、融合機31として機能させるためのオペレーティングシステム及びそのルートファイルシステムが記憶されている。尚、以下では、オペレーティングシステム及びそのルートファイルシステムをまとめてOSファイルという。
【0039】
<クライアント装置の構成>
クライアント装置1は、CPUと、システムメモリと、通信制御部と、HDDなどの記憶装置と、SDカード用スロットと、SDカード通信部と、ユーザからの操作が入力される操作装置と、情報を表示する表示装置と、これらを接続する通信バス(いずれも図示せず)とを備える。尚、SDカード用スロットには、上述のSDカード136が挿抜可能に挿入される。SDカード通信部は、SDカード用スロットに挿入されたSDカード136と通信を行い、当該SDカード136に記憶されたデータを読み出したり、当該SDカードに対して各種データを記憶させたりする。
【0040】
(2)動作
<インストールライセンス付与処理>
次に、本実施の形態にかかるインストールライセンス付与処理の手順について説明する。図4は、インストールライセンス付与処理の手順を示すフローチャートである。
【0041】
ユーザがクライアント装置1において、融合機31にインストールするためのファームウェアを要求する操作入力及び当該融合機31の機種情報の入力を行うと、クライアント装置1は、当該入力に応じて、当該機種情報を含み、ファームウェアを要求する旨を示す要求メッセージをライセンスサーバ2に対して送信する(ステップS1)。尚、ファームウェアをインストールする対象の融合機31は複数あっても良い。ここでは、例えば、ファームウェアをインストールする対象の融合機31は5つあるとし、ユーザはその旨の操作入力を行うものとする。一方、ライセンスサーバ2は、融合機31の機種情報を含む要求メッセージを受信すると(ステップS2)、ファームウェアデータベース26にアクセスして、要求メッセージに含まれる機種情報に対応しインストールの要求されたファームウェア及び設定ファイルと、OSファイルとを取得する(ステップS3)。次いで、ライセンスサーバ2は、鍵データベース25にアクセスして、秘密鍵を取得する(ステップS4)。次いで、ライセンスサーバ2は、新たなUSBシリアルIDを作成すべく、シリアルIDデータベース24にアクセスして、まず、現在登録されているUSBシリアルIDを取得する(ステップS5)。そして、ライセンスサーバ2は、当該取得したUSBシリアルIDと重複しない新たなUSBシリアルIDを作成して(ステップS6)、これをシリアルIDデータベース24に登録する(ステップS7)。ここでは、5つのUSBシリアルIDを作成する。次いで、ライセンスサーバ2は、ステップS3で取得したファームウェア及び設定ファイルに対してステップS6で作成したUSBシリアルID及びステップS4で取得した秘密鍵を用いた電子署名ファイルを各々作成する(ステップS8)。ここで、ライセンスサーバ2は、設定ファイルに対して作成する電子署名ファイルについてはUSBシリアルIDに各々対応するファイル名を付与して、5つの電子署名ファイルを作成する。
【0042】
そして、ライセンスサーバ2は、ステップS6で作成したUSBシリアルIDと、当該USBシリアルIDを用いて作成し当該USBシリアルIDに対応するファイル名を付与した電子署名ファイルとの関連付けを示すUSBシリアルID情報ファイルを作成する(ステップS9)。また、ライセンスサーバ2は、ファームウェアデータベース26にアクセスして、OSファイルを取得して、当該OSファイルであるオペレーティングシステム及びそのルートファイルシステムに対してステップS2で取得した機種情報及びステップS4で取得した秘密鍵を用いて電子署名ファイルを各々作成する(ステップS10)。また、ライセンスサーバ2は、ファームウェアデータベース26に記憶されたインストーラを取得する(ステップS11)。次いで、ライセンスサーバ2は、クライアント装置1に装着されているSDカード136に記憶されている当該SDカード136に対して付与されているSDカードシリアルIDの取得をクライアント装置1に対して要求する(ステップS12)。クライアント装置1は、当該クライアント装置1に装着されているSDカード136にアクセスして、当該SDカード136に対して付与されているSDカードシリアルIDを取得し、これをライセンスサーバ2に対して送信する(ステップS13)。ライセンスサーバ2は、当該SDカードシリアルIDを受信する(ステップS14)。次いで、ライセンスサーバ2は、ステップS14で取得したSDカードシリアルID及びステップS4で取得した秘密鍵を用いて、ステップS11で取得したインストーラに対する電子署名ファイルを作成する(ステップS15)。また、ライセンスサーバ2は、ステップS9で作成したUSBシリアルID情報ファイルに対してステップS11で取得したSDカードシリアルID及びステップS4で取得した秘密鍵を用いて電子署名ファイルを作成する。その後、ライセンスサーバ2は、ファームウェア及び設定ファイルと、インストーラと、USBシリアルID情報ファイルと、OSファイルと、これらに対して各々作成した電子署名ファイルとをクライアント装置1に送信する(ステップS16)。クライアント装置1は、ライセンスサーバ2から送信されたデータをSDカード136に記憶させる(ステップS17)。
【0043】
図5は、SDカード136に記憶されるファームウェア及び設定ファイルと、インストーラと、USBシリアルID情報ファイルと、OSファイルと、これらに対して各々作成した電子署名ファイルのデータを例示する図である。同図においては、‘/init.d/printer.cnf’は、ファームウェアの設定ファイルを表す。‘/init.d/printer_XXXX0000.lic’〜‘/init.d/printer_XXXX0004.lic’は、設定ファイルの認証チェックに利用する電子署名ファイルでありUSBシリアルIDを用いて作成された電子署名ファイルを表す。ここでは、上述したように、5つのUSBシリアルカードID‘XXXX0000’〜‘XXXX0004’が作成されており、当該各USBシリアルIDに対応するファイル名が各電子署名ファイルに各々付与されている。‘/module/printer.mod’は、インストール対象のファームウェアのモジュールを表す。‘/module/netbsd’は、融合機31として機能するためのオペレーティングシステムを表す。‘/module/netbsd.mac’は、オペレーティングシステムの認証チェックに利用する電子署名ファイルを表す。‘/module/rootfs’は、オペレーティングシステムのルートファイルシステムを表す。‘/module/rootfs.mac’は、ルートファイルシステムの認証チェックに利用する電子署名ファイルを表す。‘/module/netbed_install’は、本実施の形態においてインストール対象となるファームウェアのインストーラとして使用されるモジュールを表す。‘/module/netbed_install.mac’は、ファームウェアのインストーラの認証チェックに利用する電子署名ファイルを表す。‘/module/rootfs_install’は、ファームウェアのインストーラののルートファイルシステムを表す。‘/module/rootfs_install.mac’は、ファームウェアのインストーラのルートファイルシステムの認証チェックに利用する電子署名ファイルを表す。‘/module/serial.txt’は、USBシリアルID情報ファイルを表す。‘/module/serial.sec’は、USBシリアルID情報ファイルの認証チェックに利用する電子署名ファイルでありSDカードシリアルIDを用いて作成された電子署名ファイルを表す。‘/module/public.key’は、電子署名ファイルに含まれている公開鍵であり電子署名ファイルの復号化に用いられる公開鍵を表す。‘SDXXXX’は、当該SDカード136に対して一意に特定可能に付与されたSDカードシリアルIDを表す。
【0044】
図6は、USBシリアルID情報ファイルのデータ例を示す図である。同図に示されるように、USBシリアルID‘XXXX0000’〜‘XXXX0004’に対して、‘printer.cnf’に対して上記の各USBシリアルIDを用いて作成された電子署名ファイルのファイル名‘/init.d/printer_XXXX0000.lic’〜‘/init.d/printer_XXXX0004.lic’が各々関連付けられている。
【0045】
<インストール処理>
次に、上述のようにしてSDカード136に記憶されたファームウェアを融合機31にインストールするインストール処理の手順について説明する。図7〜8は、インストール処理の手順を示すフローチャートである。
【0046】
ユーザがSDカード136を融合機31のSDカード用スロットに装着すると、コントローラ100のCPU101は、インストーラとしてSDカード136に記憶されている情報を読み出し、まず、‘/module/netbsd_install’によって表わされる対象ファイルのモジュール認証チェックを行う(ステップS20)。モジュール認証チェックとは、例えば、電子署名を用いた認証のことである。この電子署名を用いた認証は、従来技術と同様にして、例えば、ハッシュアルゴリズムを用いて行うことができる。図9は、モジュール認証チェックの詳細な手順を示すフローチャートである。CPU101は、対象ファイル(ここでは、‘/module/netbsd_install’である)が存在するか否かを判定する(ステップS30)。当該判定結果が肯定的である場合、CPU101は、システムメモリ102に記憶された融合機31の機種情報を取得し(ステップS31)、当該機種情報及び当該対象ファイルを用いて、ハッシュ関数によりメッセージダイジェスト(MD1)を作成する(ステップS32)。次いで、CPU101は、公開鍵を用いて、電子署名ファイル(ここでは、‘/module/netbsd_install_mac’である)を復号化して、ハッシュ関数によりメッセージダイジェスト(MD2)を作成する(ステップS33)。次いで、CPU101は、ステップS32で作成したMD1及びステップS33で作成したMD2が一致するか否かを判定する(ステップS34)。当該判定結果が肯定的である場合、CPU101は、当該対象ファイル(ここでは、‘/module/netbsd_install’である)は改竄などされていないとして、当該対象ファイルの認証は成功したと判定し(ステップS35)、次のステップ(ここでは、ステップS21である)に進む。ステップS30又はステップS34の判定結果が否定的である場合、CPU101は、認証が失敗したと判定する(ステップS36)。この場合、CPU101は、所定のエラー処理を行いインストール処理を終了する。
【0047】
ステップS21では、CPU101は、次いで、‘/module/rootfs_install’によって表わされる対象ファイルのモジュール認証チェックを行う。このモジュール認証チェックについても上述のステップS30〜S36と同様に、ハッシュ関数によりMD1及びMD2を作成してこれらの一致を判定することにより行うためその説明は省略する。ここでは、ステップS21のモジュール認証チェックにおいて認証が成功したと判定した場合、CPU101は、当該インストーラを起動して、ファームウェアをインストールする処理を開始する。ステップS21のモジュール認証チェックにおいて認証が失敗したと判定した場合、CPU101は、所定のエラー処理を行いインストール処理を終了する。
【0048】
図8に移り、CPU101は、まず、USBメモリ115のフォーマットを行い(ステップS40)、次いで、‘/module/netbsd’によって表わされる対象ファイルのモジュール認証チェックを行う(ステップS41)。このモジュール認証チェックについても上述のステップS30〜S36と略同様である。当該対象ファイルの認証が成功したと判定した場合、CPU101は、当該対象ファイル‘/module/netbsd’及び‘/module/netbsd.mac’をUSBメモリ115に記憶させる(ステップS42)。尚、当該対象ファイルの認証が失敗したと判定した場合にはCPU101は所定のエラー処理を行いインストール処理を終了する。次いで、CPU101は、‘/module/rootfs’によって表わされる対象ファイルのモジュール認証チェックを行う(ステップS43)。このモジュール認証チェックについても上述のステップS30〜S36と略同様である。当該対象ファイルの認証が成功したと判定した場合、CPU101は、当該対象ファイル‘/module/rootfs’及び‘/module/rootfs.mac’をUSBメモリ115に記憶させる(ステップS44)。尚、当該対象ファイルの認証が失敗したと判定した場合にはCPU101は所定のエラー処理を行いインストール処理を終了する。次いで、CPU101は、‘/module/public.key’によって表わされる公開鍵をUSBメモリ115に記憶させる(ステップS45)。次いで、CPU101は、‘/module/serial.text’によって表わされるUSBシリアルID情報ファイルのSDライセンス認証チェックを行う(ステップS46)。
【0049】
図10は、SDライセンス認証チェックの詳細な手順を示すフローチャートである。CPU101は、対象ファイル(ここでは、‘/module/serial.text’である)が存在するか否かを判定する(ステップS60)。当該判定結果が肯定的である場合、CPU101は、SDカード136に記憶されたSDカードシリアルIDをクライアント装置1を介して取得し(ステップS61)、当該SDカードシリアルID及び当該対象ファイルを用いて、ハッシュ関数によりメッセージダイジェスト(MD1)を作成する(ステップS62)。次いで、CPU101は、公開鍵を用いて、電子署名ファイル(ここでは、‘/module/serial.sec’である)を復号化して、ハッシュ関数によりメッセージダイジェスト(MD2)を作成する(ステップS63)。次いで、CPU101は、ステップS62で作成したMD1及びステップS63で作成したMD2が一致するか否かを判定する(ステップS64)。当該判定結果が肯定的である場合、当該対象ファイル(ここでは、‘/module/serial.text’である)は改竄などされていないとして、当該対象ファイルの認証は成功したと判定し(ステップS65)、図8のステップS47に進む。ステップS60又はステップS64の判定結果が否定的である場合、CPU101は、認証が失敗したと判定し(ステップS66)、所定のエラー処理を行いインストール処理を終了する。
【0050】
ステップS47では、USBシリアルID情報ファイルからUSBシリアルIDを取得する処理を行う。図11は、USBシリアルID情報ファイルからUSBシリアルIDを取得する処理の詳細な手順を示すフローチャートである。CPU101は、図6に示されるようなデータ構成のUSBシリアルID情報ファイルに記述されたデータを読み込む(ステップS70)。同図に示されるように、USBシリアルIDが記述されている行(USBシリアルID行)があるか否かを判定する(ステップS71)。当該判定結果が肯定的である場合、CPU101は、まず、一番上行に記述されているUSBシリアルIDを取得し(ステップS72)、インストール処理の対象となるファームウェアの設定ファイルに対して作成された電子署名ファイルを管理するためのライセンス認証処理対象リストを作成し初期化する(ステップS73)。次いで、CPU101は、USBシリアルID情報ファイルにおいて、ステップS72で取得したUSBシリアルIDに対応する電子署名ファイルのファイル名行があるかないかを判定する(ステップS74)。当該判定結果が肯定的である場合、当該ファイル名行を上行から読み込み、以下の処理を行う。まず、CPU101は、一番上行に記述されているファイル名行によって指定された電子署名ファイルがSDカード136に記憶されているか否かを判定する(ステップS75)。当該判定結果が肯定的である場合、当該ファイル名行(例えば、ここでは、‘/init.d/printer_XXXX0000.lic’である)をライセンス認証対象リストに登録する(ステップS76)。
【0051】
次いで、CPU101は、ステップS72で取得したUSBシリアルIDに対応するファイル名行且つステップS76でライセンス認証処理対象リストにそのファイル名を登録したファイル名行の次行があるか否かを判定する(ステップS78)。当該判定結果が肯定的である場合、CPU101は、当該次行について、ステップS74の処理を行う。ステップS78の判定結果が否定的である場合、ステップS79に進む。尚、ステップS74の判定結果が否定的である場合、ライセンス認証処理対象リストに登録されたファイル名が1つ以上あるか否かを判定する(ステップS80)。当該判定結果が否定的である場合、次いで、CPU101は、ステップS71でそのUSBシリアルIDを読み込んだUSBシリアルID行の次のUSBシリアルID行があるか否かを判定する(ステップS81)。当該判定結果が否定的である場合、CPU101は、USBシリアルIDの取得に失敗したと判定し(ステップS82)、所定のエラー処理を行いインストール処理を終了する。また、ステップS80の判定結果が肯定的である場合、ステップS79に進む。ステップS79では、CPU101は、USBシリアルIDの取得が成功したと判定して、ステップS72で取得したUSBシリアルIDをライセンス認証対象リストに登録して、次に、図8のステップS48に進む。
【0052】
以上のように、USBシリアルID毎に、ステップS72〜S82の処理を行い、更に、USBシリアルIDに対応する電子署名ファイル毎に、ステップS74〜S82の処理を行う。ここでは、5つの融合機31に対してファームウェアをインストールするため、5つのUSBシリアルID‘XXXX0000’〜‘XXXX0004’がSDカード136に記憶されているが、各融合機31においては、インストール処理を行う順に、USBシリアルID‘XXXX0000’〜‘XXXX0004’のうち1つと、電子署名ファイル‘/init.d/printer_XXXX0000.lic’〜 ‘/init.d/printer_XXXX0004.lic’のうち1つを取得する。即ち、インストール処理を行う順に、各融合機31のUSBメモリ115に対してUSBシリアルIDが関連付けられる。
【0053】
図8に戻り、ステップS48では、CPU101は、ライセンス認証処理対象リストに登録された電子署名ファイルのファイル名が1つ以上あるか否かを判定する。当該判定結果が肯定的である場合、ステップS49に進み、‘/init.d/printer.cnf’のUSBライセンス認証チェックを行う。図12は、USBライセンス認証チェックの詳細な手順を示すフローチャートである。CPU101は、対象ファイル(ここでは、‘/init.d/printer.cnf’である)が存在するか否かを判定する(ステップS90)。当該判定結果が肯定的である場合、CPU101は、ライセンス認証対象リストに登録されたUSBシリアルIDを取得し(ステップS91)、当該USBシリアルID及び当該対象ファイルを用いて、ハッシュ関数によりメッセージダイジェスト(MD1)を作成する(ステップS92)。次いで、CPU101は、公開鍵を用いて、電子署名ファイル(ここでは、‘/module/printer_XXXX0000.lic’である)を復号化して、ハッシュ関数によりメッセージダイジェスト(MD2)を作成する(ステップS93)。次いで、CPU101は、ステップS92で作成したMD1及びステップS93で作成したMD2が一致するか否かを判定する(ステップS94)。当該判定結果が肯定的である場合、当該対象ファイル(ここでは、‘/module/ printer.mac’である)は改竄などされていないとして、当該対象ファイルの認証は成功したと判定し(ステップS95)、図8のステップS50に進む。ステップS90又はステップS94の判定結果が否定的である場合、CPU101は、認証が失敗したと判定し(ステップS96)、所定のエラー処理を行いインストール処理を終了する。
【0054】
ステップS50では、CPU101は、‘/init.d/printer.mod’のモジュール認証チェックを行う。このモジュール認証チェックについても上述のステップS30〜S36と略同様である。当該対象ファイルの認証が成功したと判定した場合、CPU101は、ステップS51に進み、インストール対象のファームウェアのコピー処理を行う。図13は、インストール対象のファームウェア処理の詳細な手順を示すフローチャートである。CPU101は、SDカード136に記憶されている‘/int.d/printer.cnf’ によって表わされる設定ファイルをUSBメモリ115に記憶させる(ステップS100)。また、CPU101は、‘/int.d/printer_XXXX0000.lic’のファイル名からUSBシリアルID部分‘_XXXX0000’を削除して、当該ファイル名‘/int.d/printer.lic’によって表わされる電子署名ファイルをUSBメモリ115に記憶させる(ステップS101)。また、CPU101は、‘/module/printer.mod’によって表されるモジュールをUSBメモリ115に記憶させ(ステップS102)、‘/module/printer.mac’によって表される電子署名ファイルをUSBメモリ115に記憶させる(ステップS103)。以上のようにして、ファームウェアが融合機31にインストールされる。次いで、図8のステップS52に進む。
【0055】
ステップS52では、CPU101は、USBライセンス認証処理対象リストにインストール処理が未処理である電子署名ファイルがあるか否かを判定する。当該判定結果が肯定的である場合、ステップS53に進み、CPU101は、ステップS47で取得したUSBシリアルIDをUSBメモリ115に記憶させる。図14は、USBメモリ115に記憶されたデータを概念的に例示する図である。同図においては、ステップS100でUSBメモリ115に記憶された設定ファイル‘/int.d/printer.cnf’、ステップS101でUSBメモリ115に記憶された電子署名ファイル‘/int.d/printer.lic’、ステップS102でUSBメモリ115に記憶されたモジュール‘/module/printer.mod’、ステップS103でUSBメモリ115に記憶された電子署名ファイル‘/module/printer.mac’、ステップS42でUSBメモリ115に記憶されたオペレーティングシステム‘/module/netbsd’及び電子署名ファイル‘/module/netbsd.mac’、ステップS44でUSBメモリ115に記憶されたオペレーティングシステムのルートファイルシステム‘/module/rootfs’及び電子署名ファイル‘/module/rootfs.mac’、ステップS45でUSBメモリ115に記憶された公開鍵‘/module/public.key’が示されている。また、図中右下には、ステップS53でUSBメモリ115に記憶されたUSBシリアルID‘XXXX0000’が示される。
【0056】
次いで、ステップS54では、CPU101は、USBライセンス認証処理対象リストにそのファイル名が登録された電子署名ファイルを削除する。即ち、ここでは、CPU101は、‘/init.d/printer_XXXX0000.lic’によって表わされる電子署名ファイルをSDカード136から削除する。尚、ここでは、USBシリアルID情報ファイルからは当該電子署名ファイルのファイル名を削除しない。
【0057】
その後、CPU101は、融合機1のUSBメモリ115にインストールされたファームウェアを起動する際には、当該ファームウェア及び設定ファイルに対して各々生成された電子署名ファイルを用いて上述のモジュール認証チェックを各々行い、認証が成功した場合に当該ファームウェアを起動する。
【0058】
以上のようにして、融合機1の有する1つのUSBメモリ115に対して1つのUSBシリアルIDを付与し、当該USBシリアルIDを用いて電子署名ファイルを作成して当該電子書名ファイルを用いて認証を行うことにより、ファームウェアを融合機31に安全にインストールすることができる。また、設定ファイルに対して作成する電子署名ファイルとして、USBシリアルIDと対応するファイル名を有する電子署名ファイルを用いて、USBシリアルIDと対応関係のある電子署名ファイルのみを融合機31において取得可能にすることより、当該電子署名ファイルの不正なコピーを不能にすることができる。結果的に、ファームウェアの不正なコピーや改竄を抑制することができる。また、ファームウェアのインストール後、USBシリアルIDと対応するファイル名を有する電子署名ファイルをSDカード136から削除することにより、当該電子署名ファイルの再コピーを防止することができ、結果的に、ファームウェアの不正なコピーや改竄を抑制することができる。また、複数の融合機31にインストールするための情報を1つのSDカード136に記憶させることができるため、ユーザの利便性を向上させることができる。
【0059】
[第2の実施の形態]
次に、第2の実施の形態について説明する。上述の第1の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【0060】
(1)構成
本実施の形態においては、上述の図4のステップS9でライセンスサーバ2が作成するUSBシリアル情報ファイルのデータ構成が上述の第1の実施の形態と異なる。上述の第1の実施の形態では、USBシリアルID情報ファイルにおいて、USBシリアルIDを先に記述し、これに対応してファイル名を記述した。しかし、本実施の形態では、USBシリアルID情報ファイルにおいては、ファイル名を先に記述され、これに対応してUSBシリアルIDを記述する。図15は、本実施の形態におけるUSBシリアルID情報ファイルのデータ例を示す図である。同図に示されるように、本実施の形態においては、‘printer.cnf’に対して作成された電子署名ファイルのファイル名‘/init.d/printer_XXXX0000.lic’〜‘/init.d/printer_XXXX0004.lic’に対して、USBシリアルID‘XXXX0000’〜‘XXXX0004’が各々関連付けられて記述されている。
【0061】
(2)動作
次に、このようなUSBシリアル情報ファイルを用いて融合機31にファームウェアをインストールするインストール処理の手順について説明する。本実施の形態においては、上述の図8におけるステップS47において、USBシリアルID情報ファイルからUSBシリアルIDを取得する処理の手順が上述の第1の実施の形態(図11参照)と異なる。図16は、本実施の形態におけるUSBシリアルID情報ファイルからUSBシリアルIDを取得する処理の手順を示すフローチャートである。CPU101は、インストール処理の対象となるファームウェアの設定ファイルに対して作成されたUSBシリアルID情報及び電子署名ファイルを管理するためのUSBシリアルID情報及びライセンス認証処理対象リストを各々作成し初期化する(ステップS120〜S121)。次いで、CPU101は、図15に示されるようなデータ構成のUSBシリアルID情報ファイルに記述されたデータを読み込む(ステップS122)。同図に示されるように、ファイル名とUSBシリアルIDとが関連付けられて記述されている行があるか否かを判定する(ステップS123)。当該判定結果が肯定的である場合、CPU101は、まず、一番上行に記述されているファイル名を取得し(ステップS124)、当該ファイル名によって指定される電子署名ファイルが当該SDカード136に記憶されているか否かを判定する(ステップS125)。当該判定結果が肯定的である場合(ステップS125:YES)、当該ファイル名に対してUSBシリアルIDが仮決定されているか否かを判定する(ステップS126)具体的には、ファイル名に対してUSBシリアルIDが仮決定されている場合、以下のステップS127で説明するように、当該ファイル名とUSBシリアルIDとが対応付けられて、ステップS120で作成したUSBシリアルID情報に記憶されている。このため、CPU101は、当該ファイル名に対してUSBシリアルIDが対応付けられてUSBシリアルID情報に記憶されているか否かを判定する。ステップS126の判定結果が否定的である場合、次いで、CPU101は、USBシリアルID情報ファイルにおいて、ステップS124で取得したファイル名に関連つけられて記述されているUSBシリアルIDを当該ファイル名によって指定されるファイルに対するUSBシリアルIDとして仮決定し、当該ファイル名及び仮決定したUSBシリアルIDとを関連付けてUSBシリアルID情報に書き込む(ステップS127)。
【0062】
次いで、CPU101は、当該ファイル名(例えば、ここでは、‘/init.d/printer_XXXX0000.lic’である)をライセンス認証対象リストに登録する(ステップS128)。次いで、CPU101は、ステップS127で仮決定したUSBシリアルIDに対応するファイル名行が、ステップ128でそのファイル名を登録したファイル名行の次行にあるか否かを判定する(ステップS129)。当該判定結果が肯定的である場合(ステップS129:YES)、CPU101は、当該次行について、ステップS124の処理を行う。また、ステップS129の判定結果が否定的である場合、CPU101は、USBシリアルIDの取得が成功したと判定して、ステップS127で仮決定したUSBシリアルIDをライセンス認証対象リストに登録して、次に、図8のステップS48に進む。以降の処理の手順は、上述の第1の実施の形態と同様である。この結果、図14に示されるように、ファームウェアの設定ファイル、モジュール及び電子署名ファイル、オペレーティングシステムのモジュール及びブートファイル、公開鍵がUSBメモリ115に記憶される。
【0063】
尚、ステップS125の判定結果が否定的である場合、ステップ124でそのファイル名を取得したファイル名行の次行があるか否かを判定する(ステップS131)。当該判定結果が肯定的である場合、ステップS123に進み、ステップS131の判定結果が否定的である場合、USBシリアルIDの取得に失敗したと判定し(ステップS132)、所定のエラー処理を行い、インストール処理を終了する。また、ステップS126の判定結果が肯定的である場合、ステップS124で取得したファイル名に関連付けられてUSBシリアルID情報ファイルに記述されているUSBシリアルIDと、ステップS120で作成したUSBシリアルID情報において当該ファイル名に対して仮決定されているUSBシリアルIDとが一致するか否かを判定する(ステップS133)。当該判定結果が肯定的である場合、ステップS128に進み、当該判定結果が否定的である場合、ステップS129に進む。
【0064】
以上のように、USBシリアルID情報ファイルに記述されたファイル名を取得し、当ファイル名に対してUSBシリアルIDを仮決定することにより、当該USBシリアルID毎に、当該USBシリアルIDに関連付けられている電子署名ファイルを取得する。このような構成によっても、ファームウェアに関するデータをUSBメモリ115に安全にインストールすることができる。この結果、ファームウェアの不正なコピーや改竄を抑制することができる。
【0065】
[変形例]
また、上述した各実施の形態に限定されるものではなく、以下に例示するような種々の変形が可能である。
【0066】
<変形例1>
上述の第1の実施の形態においては、ファームウェアの設定ファイル‘/init.d/printer.cnf’に対する電子署名ファイルについて、USBシリアルIDに対応するファイル名を各々有するように構成したが、ファームウェアのモジュール‘/module/printer.mod’に対する電子署名ファイルについても同様に、USBシリアルIDに対応するファイル名を各々有するように構成しても良い。具体的には、図4のステップS8において、ライセンスサーバ2は、ファームウェアのモジュール‘/module/printer.mod’に対して作成する電子署名ファイルについて、USBシリアルIDに各々対応するファイル名を付与する。そして、ステップS9では、ステップS6で作成したUSBシリアルIDと、当該USBシリアルIDを用いて作成し当該USBシリアルIDに対応するファイル名を付与した電子署名ファイルとの関連付けを示すUSBシリアルID情報ファイルを作成する。以降ステップS10〜S17の処理が実行されてSDカード136に各種データが記憶される。
【0067】
図17は、本変形例においてSDカード136に記憶されるファームウェア及び設定ファイルと、インストーラと、USBシリアルID情報ファイルと、OSファイルと、これらに対して各々作成した電子署名ファイルのデータを例示する図である。同図において、‘/module/printer_XXXX0000.mac’〜‘/module/printer_XXXX0004.mac’が、インストール対のファームウェアのモジュールの認証チェックに利用する電子署名ファイルでありUSBシリアルIDを用いて作成された電子署名ファイルを表す。図18は、本変形例におけるUSBシリアルID情報ファイルのデータ例を示す図である。同図においては、各USBシリアルID‘XXXX0000’〜‘XXXX0004’に対して、‘printer.cnf’に対して上記の各USBシリアルIDを用いて作成された電子署名ファイルのファイル名‘/init.d/printer_XXXX0000.lic’〜‘/init.d/printer_XXXX0004.lic’が各々関連付けられることが示されていると共に、‘/module/printer.mod’に対して上記の各USBシリアルIDを用いて作成された電子署名ファイルのファイル名‘/module/printer_XXXX0000.mac’〜‘/module/printer_XXXX0004.mac’が各々関連付けられていることが示されている。
【0068】
融合機31におけるインストール処理では、図8のステップS51におけるファームウェアのコピー処理が‘/module/printer_XXXX0000.mac’〜‘/module/printer_XXXX0004.mac’のうちいずれか1つ(ここでは、例えば、‘/module/printer_XXXX0000.mac’とする)をUSBメモリ115に記憶させる際の処理が上述の第1の実施の形態と異なる。図19は、インストール対象のファームウェアのコピー処理の詳細な手順を示すフローチャートである。同図においては、ステップS102´で、CPU101は、‘/module/printer_XXXX0000.mac’のファイル名からUSBシリアルID部分‘_XXXX0000’を削除して、当該ファイル名‘/module/printer.mac’によって表わされる電子署名ファイルをUSBメモリ115に記憶させる。
【0069】
以上のような構成によれば、ファームウェアのモジュール‘/module/printer.mod’に対して作成する電子署名ファイル‘/module/printer_XXXX0000.mac’〜‘/module/printer_XXXX0004.mac’の不正なコピーを防止することができ、結果的に、ファームウェアの不正なコピーや改竄を抑制することができる。
【0070】
<変形例2>
上述の第2の実施の形態においても同様に、ファームウェアのモジュール‘/module/printer.mod’に対する電子署名ファイルについても同様に、USBシリアルIDに対応するファイル名を有するように構成しても良い。この場合、ライセンスサーバ2が、図4のステップS9で生成するUSBシリアル情報ファイルが上述の第2の実施の形態と異なる。図20は、本変形例におけるUSBシリアルID情報ファイルのデータ例を示す図である。同図においては、‘printer.cnf’に対して作成された電子署名ファイルのファイル名‘/init.d/printer_XXXX0000.lic’〜‘/init.d/printer_XXXX0004.lic’に対してUSBシリアルID‘XXXX0000’〜‘XXXX0004’が関連付けられていることが示されていると共に、‘/module/printer.mod’に対して作成された電子署名ファイルのファイル名‘/module/printer_XXXX0000.mac’〜‘/module/printer_XXXX0004.mac’に対してUSBシリアルID‘XXXX0000’〜‘XXXX0004’が関連付けられていることが示されている。この場合の融合機31におけるインストール処理においては、ステップS51のインストール対象のファームウェアのコピー処理が、上述の変形例1におけるファームウェアのコピー処理(図19参照)と同様となる。このような構成においても、ファームウェアの不正なコピーや改竄を抑制することができる。
【0071】
<変形例3>
上述した各実施の形態においては、融合機31にインストール対象のファームウェアは1つであるとしたが、複数であっても良い。
【0072】
図21は、第1の実施の形態において、融合機31に複数のファームウェアをインストールする場合のUSBシリアルID情報ファイルのデータ構成を例示する図である。複数のファームウェアとは、例えば、コピー機能に関するファームウェア、スキャナ機能に関するファームウェア、FAX機能に関するファームウェアである。同図においては、例えば、USBシリアルID‘XXXX0000’に対して、コピー機能に関するファームウェアの設定ファイル‘/int.d/printer.cnf’に対する電子署名ファイル‘/int.d/printer_XXXX0000.lic’と、スキャナ機能に関するファームウェアの設定ファイル‘/int.d/scanner.cnf’に対する電子署名ファイル‘/int.d/scanner_XXXX0000.lic’と、FAX機能に関するファームウェアの設定ファイル‘/int.d/fax.cnf’に対する電子署名ファイル‘/int.d/fax_XXXX0000.lic’とが関連付けられている。
【0073】
また、図22は、第2の実施の形態において、融合機31に複数のファームウェアをインストールする場合のUSBシリアルID情報ファイルのデータ構成を例示する図である。同図においても図21と同様に、例えば、USBシリアルID‘XXXX0000’に対して、コピー機能に関するファームウェアの設定ファイル‘/int.d/printer.cnf’に対する電子署名ファイル‘/int.d/printer_XXXX0000.lic’と、スキャナ機能に関するファームウェアの設定フィル‘/int.d/scanner.cnf’に対する電子署名ファイル‘/int.d/scanner_XXXX0000.lic’と、FAX機能に関するファームウェアの設定フィル‘/int.d/fax.cnf’に対する電子署名ファイル‘/int.d/fax_XXXX0000.lic’とが関連付けられている。
【0074】
例えば、CPU101は、図22に示されたUSBシリアルID情報ファイルを用いて上述の図16に示される処理を行うと、USBシリアルID‘XXXX0000’に対して、‘/int.d/printer_XXXX0000.lic’、‘/int.d/scanner_XXXX0000.lic’及び‘/int.d/fax_XXXX0000.lic’がライセンス認証処理リストに登録される。このようにライセンス認証処理リストに登録された電子署名ファイルを上述のステップS101でCPU101がUSBメモリ115に記憶させることにより、上述の各実施の形態と同様にして、ファームウェアを融合機31に安全にインストールすることができる。この結果、ファームウェアの不正なコピーや改竄を抑制することができる。
【0075】
<変形例4>
上述の実施の形態においては、融合機31にインストールするファームウェアをSDカード136に記憶させる場合について説明した。しかし、融合機31ではなく、情報処理装置にインストールするファームウェアをSDカード136に記憶させる場合にも上述の構成を適用しても良い。
【0076】
<変形例5>
上述した各実施の形態においては、ライセンスサーバ2は、融合機31にファームウェアをインストールするための情報をクライアント装置1を介してSDカード136に記憶させるように構成した。しかし、ライセンスサーバ2がSDカード136を着脱自在に装着するための装着手段を備え、ライセンスサーバ2が、当該ライセンスサーバ2に装着されたSDカード136に対して、融合機31にファームウェアをインストールするための情報を記憶させるように構成しても良い。
【0077】
<変形例6>
上述した各実施の形態においては、インストーラ及びOSファイルをライセンスサーバ2のファームウェアデータベース26に記憶させるように構成したが、これらはHDDの他の記憶領域に記憶されるように構成しても良い。
【産業上の利用可能性】
【0078】
以上のように、本発明にかかる情報処理装置、インストール方法及びインストールシステムは、記憶媒体に記憶されたインストール情報を用いてプログラムをインストールするインストール技術に適している。
【図面の簡単な説明】
【0079】
【図1】本実施の形態に係るインストールシステムの構成を例示するブロック図である。
【図2】同実施の形態に係る融合機31のハードウェア構成を例示するブロック図である。
【図3】同実施の形態に係るライセンスサーバ2の機能的構成及びHDDに記憶されるデータベースを例示するブロック図である。
【図4】同実施の形態に係るインストールライセンス付与処理の手順を示すフローチャートである。
【図5】同実施の形態に係るSDカード136に記憶されるファームウェア及び設定ファイルと、インストーラと、USBシリアルID情報ファイルと、OSファイルと、これらに対して各々作成した電子署名ファイルのデータを例示する図である。
【図6】同実施の形態に係るUSBシリアルID情報ファイルのデータ例を示す図である。
【図7】同実施の形態に係るインストール処理の手順を示すフローチャートである。
【図8】同実施の形態に係るインストール処理の手順を示すフローチャートである。
【図9】同実施の形態に係るモジュール認証チェックの詳細な手順を示すフローチャートである。
【図10】同実施の形態に係るSDライセンス認証チェックの詳細な手順を示すフローチャートである。
【図11】同実施の形態に係るUSBシリアルID情報ファイルからUSBシリアルIDを取得する処理の詳細な手順を示すフローチャートである。
【図12】同実施の形態に係るUSBライセンス認証チェックの詳細な手順を示すフローチャートである。
【図13】同実施の形態に係るインストール対象のファームウェア処理の詳細な手順を示すフローチャートである。
【図14】同実施の形態に係るUSBメモリ115に記憶されたデータを概念的に例示する図である。
【図15】同実施の形態に係るUSBシリアルID情報ファイルのデータ例を示す図である。
【図16】同実施の形態に係るUSBシリアルID情報ファイルからUSBシリアルIDを取得する処理の手順を示すフローチャートである。
【図17】同実施の形態の一変形例においてSDカード136に記憶されるファームウェア及び設定ファイルと、インストーラと、USBシリアルID情報ファイルと、OSファイルと、これらに対して各々作成した電子署名ファイルのデータを例示する図である。
【図18】同変形例におけるUSBシリアルID情報ファイルのデータ例を示す図である。
【図19】同変形例におけるインストール対象のファームウェアのコピー処理の詳細な手順を示すフローチャートである。
【図20】同実施の形態の一変形例におけるUSBシリアルID情報ファイルのデータ例を示す図である。
【図21】第1の実施の形態の一変形例における融合機31に複数のファームウェアをインストールする場合のUSBシリアルID情報ファイルのデータ構成を例示する図である。
【図22】第2の実施の形態の一変形例における融合機31に複数のファームウェアをインストールする場合のUSBシリアルID情報ファイルのデータ構成を例示する図である。
【符号の説明】
【0080】
1 クライアント装置
2 ライセンスサーバ
20 ユーザI/F管理部
21 データ変換部
22 シリアルID管理部
23 署名作成部
24 シリアルIDデータベース
25 鍵データベース
26 ファームウェアデータベース
31 融合機
101 CPU
115 USBメモリ
120 操作パネル
136 SDカード
NT ネットワーク

【特許請求の範囲】
【請求項1】
着脱自在な記憶媒体が装着される記憶媒体装着手段と、
前記記憶媒体装着手段に装着された記憶媒体に記憶されているインストール情報を読み出す読出手段と、
前記読出手段が読み出した前記インストール情報を用いて、インストール対象の対象プログラムを記憶手段に記憶させるインストール手段とを備え、
前記インストール情報は、インストール対象の情報処理装置に対して作成された識別情報を用いて作成された第1のライセンス情報、前記記憶媒体に対して付与され当該記憶媒体に記憶されている記憶媒体識別情報を用いて作成された第2のライセンス情報及び前記対象プログラムを含むプログラム情報を含み、
前記インストール手段は、
前記記憶媒体に対して付与され当該記憶媒体に記憶されている記憶媒体識別情報を取得する媒体識別情報取得手段と、
前記媒体識別情報取得手段が取得した前記記憶媒体識別情報と、前記読出手段が読み出した前記インストール情報に含まれる第1のライセンス情報及び第2のライセンス情報とを用いて前記プログラム情報の認証チェックを行い、当該認証が成功した場合に、前記対象プログラムを前記記憶手段に記憶させる記憶制御手段とを有する
ことを特徴とする情報処理装置。
【請求項2】
前記プログラム情報は、前記対象プログラムを前記情報処理装置にインストールするためのインストーラを含み、
前記記憶制御手段は、前記読出手段が読み出した前記インストール情報に含まれる前記インストーラに従って、前記対象プログラム情報の認証チェックを行い、当該認証が成功した場合に、当該対象プログラムを前記記憶手段に記憶させる
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第1のライセンス情報は、前記対象プログラム及び前記識別情報を用いて作成された第1の電子署名を含み、
前記記憶制御手段は、前記対象プログラム及び前記第1の電子署名を用いて、当該対象プログラムの認証チェックを行う
ことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記インストール情報は、前記第1の電子署名と、前記識別情報との対応関係を示す対応関係情報を含み、
前記記憶制御手段は、前記対応関係情報が示す対応関係に応じた前記第1の電子署名及び前記識別情報を取得し、取得した当該第1の電子署名及び当該識別情報と、前記対象プログラムとを用いて、当該対象プログラムの認証チェックを行う
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記記憶制御手段は、前記対象プログラムの認証チェックにおける認証が成功した場合に、前記第1の電子署名を前記記憶手段に記憶させる
ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記記憶制御手段は、前記対象プログラムの認証チェックにおける認証が成功した場合に、前記第1の電子署名を前記記憶手段に記憶させた後、当該第1の電子署名を前記記憶媒体から削除する
ことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記記憶制御手段は、前記対象プログラムの認証チェックにおける認証が成功した場合に、前記対応関係情報を前記記憶手段に記憶させる
ことを特徴とする請求項4に記載の情報処理装置。
【請求項8】
前記記憶制御手段は、前記対象プログラムの認証チェックにおける認証が成功した場合に、前記識別情報を前記記憶手段に記憶させる
ことを特徴とする請求項4に記載の情報処理装置。
【請求項9】
前記プログラム情報は、前記対象プログラムを実行する際に用いられる設定ファイルを含み、
前記第1ライセンス情報は、前記設定ファイル及び前記識別情報を用いて作成された第3の電子署名を含み、
前記記憶制御手段は、前記設定ファイル及び前記第3の電子署名を用いて、当該設定ファイルの認証チェックを行う
ことを特徴とする請求項1に記載の情報処理装置。
【請求項10】
前記インストール情報は、前記第3の電子署名と、前記識別情報との対応関係を示す対応関係情報を含み、
前記記憶制御手段は、前記対応関係情報が示す対応関係に応じた前記第3の電子署名及び前記識別情報を取得し、取得した当該第3の電子署名及び当該識別情報と、前記設定ファイルとを用いて、当該設定ファイルの認証チェックを行う
ことを特徴とする請求項9に記載の情報処理装置。
【請求項11】
前記記憶制御手段は、前記設定ファイルの認証チェックにおける認証が成功した場合に、前記設定ファイルを前記記憶手段に記憶させる
ことを特徴とする請求項10に記載の情報処理装置。
【請求項12】
前記記憶制御手段は、前記設定ファイルの認証チェックにおける認証が成功した場合に、前記第3の電子署名を前記記憶手段に記憶させる
ことを特徴とする請求項10に記載の情報処理装置。
【請求項13】
前記記憶制御手段は、前記設定ファイルの認証チェックにおける認証が成功した場合に、前記第3の電子署名を前記記憶手段に記憶させた後、当該第3の電子署名を前記記憶媒体から削除する
ことを特徴とする請求項12に記載の情報処理装置。
【請求項14】
前記記憶制御手段は、前記設定ファイルの認証チェックにおける認証が成功した場合に、前記対応関係情報を前記記憶手段に記憶させる
ことを特徴とする請求項10に記載の情報処理装置。
【請求項15】
前記記憶制御手段は、前記設定ファイルの認証チェックにおける認証が成功した場合に、前記識別情報を前記記憶手段に記憶させる
ことを特徴とする請求項10に記載の情報処理装置。
【請求項16】
前記第1のライセンス情報は、前記インストーラ及び前記記憶媒体識別情報を用いて作成された第2の電子署名を含み、
前記記憶制御手段は、前記インストーラ及び前記第2の電子署名を用いて、当該インストーラの認証チェックを行う
ことを特徴とする請求項1に記載の情報処理装置。
【請求項17】
記憶媒体装着手段に装着された記憶媒体に記憶されているインストール情報を読み出す読出ステップと、
前記読出ステップで読み出した前記インストール情報を用いて、インストール対象の対象プログラムを記憶手段に記憶させるインストールステップとを含み、
前記インストール情報は、インストール対象の情報処理装置に対して作成された識別情報を用いて作成された第1のライセンス情報、前記記憶媒体に対して付与され当該記憶媒体に記憶されている記憶媒体識別情報を用いて作成された第2のライセンス情報及び前記対象プログラムを含むプログラム情報を含み、
前記インストールステップは、
前記記憶媒体に対して付与され当該記憶媒体に記憶されている記憶媒体識別情報を取得する媒体識別情報取得ステップと、
前記媒体識別情報取得ステップで取得した前記記憶媒体識別情報と、前記読出手段が読み出した前記インストール情報に含まれる第1のライセンス情報及び第2のライセンス情報とを用いて前記プログラム情報の認証チェックを行い、当該認証が成功した場合に、前記対象プログラムを前記記憶手段に記憶させる記憶制御ステップとを含む
ことを特徴とするインストール方法。
【請求項18】
情報処理装置にインストールするための対象プログラムを着脱自在の記憶媒体に記憶させるサーバ装置であって、前記情報処理装置に対する識別情報を作成する識別情報作成手段と、前記記憶媒体に対して付与され当該記憶媒体に記憶されている記憶媒体識別情報を取得する媒体識別情報取得手段と、前記識別情報作成手段が作成した前記識別情報を用いて第1のライセンス情報を作成する第1ライセンス作成手段と、前記媒体識別情報取得手段が取得した前記媒体識別情報を用いて第2のライセンス情報を作成する第2ライセンス作成手段と、前記第1ライセンス作成手段が作成した第1のライセンス情報、前記第2ライセンス作成手段が作成した第2のライセンス情報及び前記対象プログラムを含むプログラム情報を前記記憶媒体に記憶させる記憶制御手段とを有するサーバ装置と、
着脱自在な記憶媒体が装着される記憶媒体装着手段と、前記記憶媒体装着手段に装着された記憶媒体に記憶されているインストール情報を読み出す読出手段と、前記読出手段が読み出した前記インストール情報を用いて、インストール対象の対象プログラムを記憶手段に記憶させるインストール手段とを有し、前記インストール情報は、インストール対象の情報処理装置に対して作成された識別情報を用いて作成された第1のライセンス情報、前記記憶媒体に対して付与され当該記憶媒体に記憶されている記憶媒体識別情報を用いて作成された第2のライセンス情報及び前記対象プログラムを含むプログラム情報を含み、前記インストール手段は、前記記憶媒体に対して付与され当該記憶媒体に記憶されている記憶媒体識別情報を取得する媒体識別情報取得手段と、前記媒体識別情報取得手段が取得した前記記憶媒体識別情報と、前記読出手段が読み出した前記インストール情報に含まれる第1のライセンス情報及び第2のライセンス情報とを用いて前記プログラム情報の認証チェックを行い、当該認証が成功した場合に、前記対象プログラムを前記記憶手段に記憶させる記憶制御手段とを有する情報処理装置とを備える
ことを特徴とするインストールシステム。

【図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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2008−262528(P2008−262528A)
【公開日】平成20年10月30日(2008.10.30)
【国際特許分類】
【出願番号】特願2007−180259(P2007−180259)
【出願日】平成19年7月9日(2007.7.9)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】