説明

画像処理装置

【課題】ダウンロードするファームウエアのファイル自身に機器のシリアルID番号を個々に埋め込む処理をしたファイルをダウンロード&動作させることにより、登録されたユーザ、指定されたユーザのみ該当ファイルを動作できないようにすることを目的とする。
【解決手段】電源投入後の初期動作を実行するためのプログラムを格納するRead Only Memoryを有し、プログラムを動作させるための揮発性メインメモリを有し、さらにシステム起動後に動作するプログラムを格納するハードディスク等の外部記憶装置を有し、機体の個別を特定可能とするシリアル番号を有し、ネットワーク接続するネットワークインターフェイスを有するシステムにおいて、インターネット先に存在するプログラムダウンロードサーバと通信する手段と、前述サーバよりデータを取得する手段と、シリアル番号を読み出す手段を有することを特徴とする画像処理装置。

【発明の詳細な説明】
【技術分野】
【0001】
画像処理装置上で動作するファームウエアプログラムは、機能拡張のための動作するファームウエアプログラムの修正や、不具合修正のためにウエアプログラムの修正の方法において、プログラムをダウンロードして置き換え作業を行なう画像処理装置に関するもの。
【背景技術】
【0002】
従来のネットワーク接続可能な画像処理装置において、ファームウエアのバージョンアップ等は、人為(サービスマン等)的な処理の介在するRead Only Memory(以下ROM)の交換や、画像処理装置とサービスマンやユーザの所有するパーソナルコンピュータ上に装備されている画像処理装置との通信ソフトウエアにより、ファームウエアのバージョンアップを行ってきた。
【0003】
また、さらに進んだ形で画像処理装置が電話回線を経由し、またはインターネットを経由してバージョンアップのプログラムを保持するサーバと通信し、画像処理装置のシリアルID情報を元にダウンロードする許可をサーバより得てダウンロードするというものがあった。
【特許文献1】特開平9−167094号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、このような従来の技術では、複数台、画像処理装置を保有する環境で、1台のみバージョンアップ等の契約をしておき、1台分のプログラムを正式に取得を行い、契約をしていない他の機器に同一プログラムをダウンロードして動作をさえるという、悪意のあるユーザが、悪意のあるサービスマンの行為を防ぐことが出来ないという問題があった。
【0005】
また上記を防ぐために、プログラム自身に契約を行なっているすべてのシリアル番号を埋め込む処理を行なった場合、プログラムサイズが不要に大きくなる、または、契約者が増える度にプログラムを修正しなければいけないという問題があった。
【0006】
本発明は、以上の点に着目して成されたもので、画像処理装置の機体の個別を特定可能のシリアル番号を、ダウンロードするファームウエアプログラムを格納するサーバに対して、送信する手段と、シリアル番号に基づき、ダウンロードすべきプログラムを選択する手段、さらにシリアル番号をプログラムに埋め込む手段、シリアル番号を暗号化してからプログラムに埋め込む手段を行なうことによって、安全に、さらに悪意のあるユーザや悪意のあるサービスマンによる不正なファームウエアプログラムのバージョンアップを防ぐ画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
課題を解決する手段として、インターネットに接続可能な、ネットワーク上に画像処理装置が接続されていることを前提としている。
【0008】
なお、さらに説明すれば、本発明の第一の発明について下記のように示す。
【0009】
(1)電源投入後の初期動作を実行するためのプログラムを格納するRead Only Memoryを有し、プログラムを動作させるための揮発性メインメモリ(以下メモリ)を有し、さらにシステム起動後に動作するプログラムを格納するハードディスク等の外部記憶装置を有し、機体の個別を特定可能とするシリアル番号を有し、ネットワーク接続するネットワークインターフェイスを有するシステムにおいて、インターネット先に存在するプログラムダウンロードサーバと通信する手段と、前述サーバよりデータを取得する手段と、シリアル番号を読み出す手段を有することを特徴とする画像処理装置。
【発明の効果】
【0010】
本発明において、ファームウエアダウンロードサーバからダウンロードするファームウエアプログラムにバイナリレベルで個々の機体のシリアル番号を付加して、または暗号化して付加して作成したものを、個々の機器に送ることにより、悪意を持つのユーザや、悪意をもつサービスマンによる不正な機器のバージョンアップが防げるようになる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の第一実施例について図面を参照して説明する。
【実施例1】
【0012】
図1は、本発明にかかる基本的なシステム構成を示す図である。
【0013】
1−1は、インターネット上に存在する画像処理装置の販売元が管理する前記画像処理装置上で動作するファームウエアのプログラムおよびダウンロードを許可/不許可を判定するシリアル番号の情報ファイルを抱えるFTPサーバである。1−2は、画像処理装置が設置されているオフィスとインターネットを接続するファイアーウォールである。1−3はファームウエアのバージョンアップを希望する画像処理装置である。1−4は、1−2と1−3のそれぞれの機器を接続されているローカルエリアネットワーク(以下LAN)を示す。
【0014】
図2は、本システムにおける画像処理装置内部の基本的な構成を示すシステムブロック図である。2−1はCPU、即ち中央処理装置であり、この装置全体の制御及び演算処理等を行なうものである。2−2はROM即ち読み出し専用メモリであり、システム起動プログラムやプリンタエンジンの制御を行なうプログラム及び文字データ、文字コード情報等の記憶領域である。但し、本実施例を実現するために、通常時は、ROMとして動作するが、プログラムにより消去およぶ書き込みが可能であるフラッシュROMであることが必要である。
【0015】
2−3はRAM即ちランダムアクセスメモリであり、使用制限のないデータ記憶領域で、ダウンロードにより追加登録されたフォントデータが記憶されたり、様々な処理毎にプログラムやデータがロードされ実行される。2−4は、例えばハードディスク等の外部記憶装置であり、印刷装置か受け付けた印刷ジョブをスプールしたり、プログラムや印刷データ等が格納されたり、作業用の領域として利用されたりする。2−5は液晶などの表示部であり、印刷装置の設定状態や、現在の印刷装置内部の処理、エラー状態などの表示などに使用される。2−6は操作部であり、印刷装置の設定を変更したり、ファームウエアのダウンロード処理の起動等の操作や、リセットするために使用される。2−7はエンジンインターフェイスであり実際にエンジンを制御するコマンド等のやり取りする口である。ここでのエンジンとはスキャナおよびプリンタを指す。2−11は、スキャナエンジンである。2−12は、プリンタエンジンである。2−8はネットワークインターフェイスであり、このインターフェイスを介して機器がネットワークに接続される。2−9は外部インターフェイスであり、パラレル(またはシリアル)などのインターフェイスを介してホストコンピュータと接続される。2‐13は、機種の固体識別を可能とするシリアル番号を格納する記憶媒体、EEPROMであったりSRAM等の不揮発性の記憶媒体である。2−10はシステムバスであり、上述の構成要素間のデータの通路となるべきものである。例えば、サーバからファームウエアのファイルをダウンロードする際は、次のようなながれになる。2−8ネットワークI/Fからデータを取得し、一度2−3に受信データを格納し、外部記憶装置2−4たとえばハードディスク(以下HDD)にファイルを格納する際、2−10のシステムバスを経由してデータが流れる。
【0016】
操作部2−6でのダウンロードの指示入力をきっかけにして、RAM2−3に格納されたプログラムが動作を始め、ネットワークI/F経由でサーバとのコマンドやり取りを行なった後、ファームウエアのデータファイルを2−3RAMに格納する。
【0017】
その後、2−10システムバスを経由を2−4外部記憶装置にファイルを格納、また2−2のROMの内容を書き換えたり、2−4外部記憶装置上のファームウエアを置き換えたりする。また、動作中には操作者に処理中であることを知らせたり、処理中の以上等のエラー動作が発生した際、エラーの種別を通知する情報が表示部2−5には表示される。
【0018】
図3は、本実施例における画像処理装置で行なわれるファームウエアサーバに対するコマンドの送信、ファームウエアのファイル受信、ファイルの更新に関する操作を示すフローチャートである。
【0019】
画像処理装置でのファームウエアの更新を実行しようとした際、操作の起動は操作部2−6よりかける(S301)。ダウンロードするファームウエアの種類を起動用にBootromファームウエアなのか?アプリケーション動作用のファームウエアなのか?エンジン制御用のファームウエアなのか?を選択する(S302)。ファームウエアダウンロードサーバ1−1との通信前に、自機の個別機体を示す機器内に存在する記憶装置2−13に存在するシリアル番号情報を取得する(S303)。
【0020】
S302,S303で取得した情報をファームウエアダウンロードサーバに対してファイアーウォール1−2先のインターネットを介して送信を行なう(S304)。このときのプロトコル、手法に関しては、SMTP/POPを使用したメールによるデータ通知でもよいし、FTP/HTTP等のプロトコルを使ったデータ送信でも手法は限定しない。ファームウエアダウンロードサーバ側では、S304の処理で受信したシリアル番号とファームウエア種別のデータより、ダウンロードを要求する画像処理装置に対して、ファームウエアをダウンロードさせてよいかどうかの判断を行なう(S305)。この判断は、画像処理装置のユーザが、登録ユーザである場合や、バージョンアップ契約等の処理を行なっており、ファームウエアダウンロード許可対象であるかどうかを判断する。そのデータベースとシリアル番号を比較する処理を行なう。S305の処理結果ファームウエアダウンロード対象のユーザ要求でなければ、終了する。該当である場合、サーバ上で、ダウンロードするファームウエアのファイルを取り出し、シリアル番号を埋め込む処理(詳細は図4、図5を用いて、後に説明する)(S306)を行なう。S306で作成されたデータをファームウエアダウンロード要求のあった画像処理装置に対して送信を行なう(S307)。送信の処理は、SMTP/POPを使用したメールによりメール添付データとしてもよいし、FTP/HTTPのプロトコル使用したものであってもよいが、本発明においては、根幹でないので、その手法は特記しない。画像処理装置では、S307の処理で受信したファイルにより、もとの動作していたファイルやROM2−2を書き換えを行なうバージョンアップを行なう(S308)。
【0021】
図4は、シリアル番号をもとにファームウエアプログラムを加工する手法を説明する。
【0022】
ファームウエアプログラムにシリアル番号情報を埋め込む手法として2つの手法を取る。このどちらの手法をとるかは?ランダムに採用し、悪意のユーザの改竄を出来にくくする。1つの方法は、図4−1に示す方法で、実行形式のバイナリーイメージになっているファイルの末尾にシリアル番号を埋め込む。2つ目の方法は、ファームウエアのスタティック変数として用意されているシリアル番号変数の格納するエリアをMapより算出し、格納エリアにシリアル番号を上書きする手法を用いて行なう。そのシリアル番号変数は、ソースプログラム上では、0に初期化されるように作成されているため、上書きされたか?どうか?は値が0であるかどうかで判別可能となる。この場合シリアル番号は0以外の数であるという条件が必要になる。
【0023】
図5は、画像処理装置上で、ダウンロードされたファームウエアが動作する時、ファームウエアが不正コピー品であった場合に、起動処理中エラー表示で起動させなくする手法を説明するフローチャートを記述する。
【0024】
まず、ファームウエアプログラムの起動時に自機機器内にあるシリアル番号記録媒体(2−13)より機器の個別判定が可能なシリアル番号を読み出す(S501)。次に起動しているファームウエアプログラムのシリアル番号を示すスタティック変数読み出し、その値が0かどうかの判別を行なう(S502)。S502の値が0の場合、図4や前述の説明のように、図4−1のファームウエア加工がされてプログラムであることになるので、ファームウエアプログラムファイルのバイナリ末尾のプログラム領域をシリアル番号として読み出す(S503)。S502の判定で0でなかった場合は、読み出した値をシリアル番号としてプログラムは動作する。
【0025】
シリアル番号記録媒体2−13から読み出した値とファームウエアプログラムに格納されたシリアル番号が一致するかどうかの判定を行い(S504)、一致した場合、動作しているファームウエアは正常バージョンアップされたものと判断し、プログラムの動作を続け(S505)、S504の判定で一致しなかった場合、動作しているファームウエアが不正にバージョンアップされたものと判断し、表示部2−5にエラー表示を行い、プログラムの動作を止める(S506)。
【実施例2】
【0026】
以下に請求項2で記述した実施例に関して記述する。
【0027】
実施例2で説明する手法は、第一の実施例で説明したファームウエアダウンロードサーバでのファームウエアプログラムにシリアル番号を暗号化して加工して付加する実施例である。
【0028】
シリアル番号をファームウエアのバイナリデータに暗号化して付加する部分、読み出す部分以外は、処理が同じなので説明を省略する。
【0029】
図6は、シリアル番号をもとに暗号化してデータをファームウエアプログラムを加工する手法を説明する。
【0030】
ファームウエアプログラムにシリアル番号情報を埋め込む手法として2つの手法を取る。このどちらの手法をとるかは?ランダムに採用し、さらに付加する知シリアル番号を暗号化し、第一の実施例よりさらに悪意のユーザの改竄を出来にくくする。1つの方法は、図6−1に示す方法で、実行形式のバイナリーイメージになっているファイルの末尾にシリアル番号記録媒体2−13より読み出したシリアル番号を暗号化して、埋め込む。2つ目の方法は、ファームウエアのスタティック変数として用意されているシリアル番号変数の格納するエリアをMapより算出し、格納エリアにシリアル番号記録媒体2−13より読み出したシリアル番号を暗号化し、上書きする手法を用いて行なう。そのシリアル番号変数は、ソースプログラム上では、0に初期化されるように作成されているため、上書きされたか?どうか?は値が0であるかどうかで判別可能となる。この場合シリアル番号は0以外の数であるという条件が必要になる。
【0031】
図7は、画像処理装置上で、ダウンロードされたファームウエアが動作する時、ファームウエアが不正コピー品であった場合に、起動処理中エラー表示で起動させなくする手法を説明するフローチャートを記述する。
【0032】
まず、ファームウエアプログラムの起動時に自機機器内にあるシリアル番号記録媒体2−13より機器の個別判定が可能なシリアル番号を読み出す(S701)。次に起動しているファームウエアプログラムのシリアル番号を示すスタティック変数読み出し、その値が0かどうかの判別を行なう(S702)。S702の値が0の場合、図6や前述の説明のように、図6−1のファームウエア加工がされてプログラムであることになるので、ファームウエアプログラムファイルのバイナリ末尾のプログラム領域をシリアル番号が暗号化された領域のデータを読み出し、データを複合化してシリアル番号とする(S703)。S702の判定で0でなかった場合は、読み出した値を複合化してシリアル番号とする(S704)。プログラムは動作する。
【0033】
シリアル番号記録媒体2−13から読み出した値とファームウエアプログラムに格納されたデータを複合化したシリアル番号が一致するかどうかの判定を行い(S705)、一致した場合、動作しているファームウエアは正常バージョンアップされたものと判断し、プログラムの動作を続け(S706)、S705の判定で一致しなかった場合、動作しているファームウエアが不正にバージョンアップされたものと判断し、表示部2−5にエラー表示を行い、プログラムの動作を止める(S707)。
【図面の簡単な説明】
【0034】
【図1】本発明を説明するネットワークシステムの構成を示すブロック図である。
【図2】画像処理装置の基本的な構成を示すブロック図である。
【図3】第一の実施例を説明するフローチャートその1
【図4】(図4−1、図4−2)ファームウエアプログラムにシリアル番号を付加する概念図
【図5】第一の実施例を説明するフローチャートその2
【図6】(図6−1、図6−2)ファームウエアプログラムにシリアル番号を暗号化して付加する概念図
【図7】実施例2におけるフローチャート
【符号の説明】
【0035】
1−1 ファームウエアサーバ
1−2 ファイアーウォール
1−3 画像処理装置(自機)
1−4 LAN(ローカルエリアネットワーク)
2‐1 CPU
2‐2 ROM
2‐3 RAM
2‐4 外部記憶装置
2‐5 表示部
2‐6 操作部
2‐7 エンジンインターフェイス
2‐8 ネットワークインターフェイス
2‐9 外部インターフェイス
2‐10 システムバス
2‐11 スキャナ
2‐12 プリンタ
2‐13 シリアル番号記録媒体

【特許請求の範囲】
【請求項1】
電源投入後の初期動作を実行するためのプログラムを格納するRead Only Memoryを有し、プログラムを動作させるための揮発性メインメモリ(以下メモリ)を有し、さらにシステム起動後に動作するプログラムを格納するハードディスク等の外部記憶装置を有し、機体の個別を特定可能とするシリアル番号を有し、ネットワーク接続するネットワークインターフェイスを有するシステムにおいて、インターネット先に存在するプログラムダウンロードサーバと通信する手段と、前述サーバよりデータを取得する手段と、シリアル番号を読み出す手段を有することを特徴とする画像処理装置。
【請求項2】
請求項1記載の画像処理装置において、サーバ側では、シリアル番号を元にプログラムデータを加工する際、シリアル番号を暗号化して加工することを特徴とする画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2006−235791(P2006−235791A)
【公開日】平成18年9月7日(2006.9.7)
【国際特許分類】
【出願番号】特願2005−46687(P2005−46687)
【出願日】平成17年2月23日(2005.2.23)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】