(57)【要約】【課題】  画像形成装置を機能させるプログラムを新たなプログラムに更新する場合に関して、その新たなプログラムの信頼性を向上させること。 【解決手段】  当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置であって、前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新手段を備えることを特徴とする画像形成装置。【選択図】  図１１
2004299389.tif 000002
【特許請求の範囲】
【請求項１】
当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置であって、
前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新手段を備えることを特徴とする画像形成装置。
【請求項２】
当該画像形成装置を機能させるプログラムが記憶された記憶媒体をセットするための記憶媒体セット手段と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置であって、
前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新手段を備えることを特徴とする画像形成装置。
【請求項３】
当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムを受信する受信手段とを備える画像形成装置であって、
前記受信手段により受信された前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記受信手段により受信された前記プログラムに更新するプログラム更新手段を備えることを特徴とする画像形成装置。
【請求項４】
当該画像形成装置を機能させるプログラムが記憶された記憶媒体をセットするための記憶媒体セット手段と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムを受信する受信手段とを備える画像形成装置であって、
前記受信手段により受信された前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記受信手段により受信された前記プログラムに更新するプログラム更新手段を備えることを特徴とする画像形成装置。
【請求項５】
前記プログラム更新手段は、前記記憶媒体に記憶された前記プログラムと、そのプログラムに係る電子署名とを、前記更新用記憶媒体から取得される前記プログラムと、そのプログラムに係る電子署名とに更新することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項６】
前記プログラム更新手段は、前記記憶媒体に記憶された前記プログラムと、そのプログラムに係る電子署名とを、前記受信手段により受信された前記プログラムと、そのプログラムに係る電子署名とに更新することを特徴とする請求項３又は４に記載の画像形成装置。
【請求項７】
前記プログラム更新手段は、前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を、当該プログラムから作成したメッセージダイジェストと当該電子署名を復号化したメッセージダイジェストとの照合をもって判断することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項８】
前記プログラム更新手段は、前記受信手段により受信された前記プログラムに係る電子署名の正当性を、当該プログラムから作成したメッセージダイジェストと当該電子署名を復号化したメッセージダイジェストとの照合をもって判断することを特徴とする請求項３又は４に記載の画像形成装置。
【請求項９】
前記記憶媒体に記憶された前記プログラムを、当該プログラムに係る電子署名の正当性と、当該プログラムに係る設定ファイルの電子署名の正当性とを条件に、当該記憶媒体に記憶された当該設定ファイルに従って起動するプログラム起動手段を備えることを特徴とする請求項１乃至８のいずれか１項に記載の画像形成装置。
【請求項１０】
前記プログラム起動手段は、前記記憶媒体に記憶された前記プログラムに係る電子署名の正当性を、当該プログラムから作成したメッセージダイジェストと当該電子署名を復号化したメッセージダイジェストとの照合をもって判断することを特徴とする請求項９に記載の画像形成装置。
【請求項１１】
前記プログラム起動手段は、前記記憶媒体に記憶された前記設定ファイルの電子署名の正当性を、当該設定ファイルから作成したメッセージダイジェストと当該電子署名を復号化したメッセージダイジェストとの照合をもって判断することを特徴とする請求項９に記載の画像形成装置。
【請求項１２】
前記記憶媒体に記憶された前記設定ファイルの電子署名は、当該設定ファイルと当該記憶媒体に固有なデータとから作成したメッセージダイジェストを暗号化したものであることを特徴とする請求項１１に記載の画像形成装置。
【請求項１３】
前記記憶媒体に固有な前記データは、前記記憶媒体のシリアルＩＤであることを特徴とする請求項１２に記載の画像形成装置。
【請求項１４】
当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置についてのプログラム更新方法であって、
前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新段階を備えることを特徴とするプログラム更新方法。
【請求項１５】
当該画像形成装置を機能させるプログラムが記憶された記憶媒体をセットするための記憶媒体セット手段と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置についてのプログラム更新方法であって、
前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新段階を備えることを特徴とするプログラム更新方法。
【請求項１６】
当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムを受信する受信手段とを備える画像形成装置についてのプログラム更新方法であって、
前記受信手段により受信された前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記受信手段により受信された前記プログラムに更新するプログラム更新段階を備えることを特徴とするプログラム更新方法。
【請求項１７】
当該画像形成装置を機能させるプログラムが記憶された記憶媒体をセットするための記憶媒体セット手段と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムを受信する受信手段とを備える画像形成装置についてのプログラム更新方法であって、
前記受信手段により受信された前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記受信手段により受信された前記プログラムに更新するプログラム更新段階を備えることを特徴とするプログラム更新方法。
【請求項１８】
前記プログラム更新段階は、前記記憶媒体に記憶された前記プログラムと、そのプログラムに係る電子署名とを、前記更新用記憶媒体から取得される前記プログラムと、そのプログラムに係る電子署名とに更新することを特徴とする請求項１４又は１５に記載のプログラム更新方法。
【請求項１９】
前記プログラム更新段階は、前記記憶媒体に記憶された前記プログラムと、そのプログラムに係る電子署名とを、前記受信手段により受信された前記プログラムと、そのプログラムに係る電子署名とに更新することを特徴とする請求項１６又は１７に記載のプログラム更新方法。
【請求項２０】
前記記憶媒体に記憶された前記プログラムを、当該プログラムに係る電子署名の正当性と、当該プログラムに係る設定ファイルの電子署名の正当性とを条件に、当該記憶媒体に記憶された当該設定ファイルに従って起動するプログラム起動段階を備えることを特徴とする請求項１４乃至１９のいずれか１項に記載のプログラム更新方法。
【請求項２１】
請求項１又は２に記載の更新用記憶媒体であって、請求項１又は２に記載の記憶媒体に記憶された前記プログラムを更新するためのプログラムと、そのプログラムに係る電子署名とが記憶された更新用記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コピー、プリンタ、スキャナ、ファクシミリ、複合機、融合機等の画像形成装置、プログラム更新方法、及び更新用記憶媒体に関する。
【背景技術】
【０００２】
近年、１台の機器でコピーとプリンタとスキャナとファクシミリとしての機能を実現した「複合機」や「融合機」が市販されるようになった。これらの複合機や融合機は、撮像部と印刷部と通信部等のハードウェアを備えると共に、コピーとプリンタとスキャナとファクシミリに対応する４種類のソフトウェアを備え、これらのソフトウェアが切り替わることにより、コピーやプリンタやスキャナやファクシミリとして機能する。コピーやプリンタとして機能する場合、画像を印刷用紙等に印刷することになり、スキャナやファクシミリとして機能する場合、画像をネットワーク等を介して他の機器に送信することになる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
複合機や融合機を機能させるためには、アプリケーションやプラットフォーム等の様々なプログラム（ファームウェアその他のソフトウェア）が必要となる。複合機や融合機を機能させるプログラムを新たなプログラムに更新する場合、その新たなプログラムの信頼性が問題となる。例えば、複合機や融合機を機能させるプログラムを新たなプログラムに更新するため、その新たなプログラムを汎用のメモリカードやネットワークを介して授受する場合、その新たなプログラムが途中で改変（改竄や文字化け等）される可能性があるからである。
【０００４】
したがって、本発明は、画像形成装置を機能させるプログラムを新たなプログラムに更新する場合に関して、その新たなプログラムの信頼性を向上させることを課題とする。 
【課題を解決するための手段】
【０００５】
請求項１に記載の発明（画像形成装置）は、当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置であって、前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新手段を備える。
【０００６】
請求項２に記載の発明（画像形成装置）は、当該画像形成装置を機能させるプログラムが記憶された記憶媒体をセットするための記憶媒体セット手段と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置であって、前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新手段を備える。
【０００７】
請求項３に記載の発明（画像形成装置）は、当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムを受信する受信手段とを備える画像形成装置であって、前記受信手段により受信された前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記受信手段により受信された前記プログラムに更新するプログラム更新手段を備える。
【０００８】
請求項４に記載の発明（画像形成装置）は、当該画像形成装置を機能させるプログラムが記憶された記憶媒体をセットするための記憶媒体セット手段と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムを受信する受信手段とを備える画像形成装置であって、前記受信手段により受信された前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記受信手段により受信された前記プログラムに更新するプログラム更新手段を備える。
【０００９】
請求項５に記載の発明（画像形成装置）は、請求項１又は２に記載の発明（画像形成装置）に関して、前記プログラム更新手段は、前記記憶媒体に記憶された前記プログラムと、そのプログラムに係る電子署名とを、前記更新用記憶媒体から取得される前記プログラムと、そのプログラムに係る電子署名とに更新する。
【００１０】
請求項６に記載の発明（画像形成装置）は、請求項３又は４に記載の発明（画像形成装置）に関して、前記プログラム更新手段は、前記記憶媒体に記憶された前記プログラムと、そのプログラムに係る電子署名とを、前記受信手段により受信された前記プログラムと、そのプログラムに係る電子署名とに更新する。
【００１１】
請求項７に記載の発明（画像形成装置）は、請求項１又は２に記載の発明（画像形成装置）に関して、前記プログラム更新手段は、前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を、当該プログラムから作成したメッセージダイジェストと当該電子署名を復号化したメッセージダイジェストとの照合をもって判断する。
【００１２】
請求項８に記載の発明（画像形成装置）は、請求項３又は４に記載の発明（画像形成装置）に関して、前記プログラム更新手段は、前記受信手段により受信された前記プログラムに係る電子署名の正当性を、当該プログラムから作成したメッセージダイジェストと当該電子署名を復号化したメッセージダイジェストとの照合をもって判断する。
【００１３】
請求項９に記載の発明（画像形成装置）は、請求項１乃至８のいずれか１項に記載の発明（画像形成装置）に関して、前記記憶媒体に記憶された前記プログラムを、当該プログラムに係る電子署名の正当性と、当該プログラムに係る設定ファイルの電子署名の正当性とを条件に、当該記憶媒体に記憶された当該設定ファイルに従って起動するプログラム起動手段を備える。
【００１４】
請求項１０に記載の発明（画像形成装置）は、請求項９に記載の発明（画像形成装置）に関して、前記プログラム起動手段は、前記記憶媒体に記憶された前記プログラムに係る電子署名の正当性を、当該プログラムから作成したメッセージダイジェストと当該電子署名を復号化したメッセージダイジェストとの照合をもって判断する。
【００１５】
請求項１１に記載の発明（画像形成装置）は、請求項９に記載の発明（画像形成装置）に関して、前記プログラム起動手段は、前記記憶媒体に記憶された前記設定ファイルの電子署名の正当性を、当該設定ファイルから作成したメッセージダイジェストと当該電子署名を復号化したメッセージダイジェストとの照合をもって判断する。
【００１６】
請求項１２に記載の発明（画像形成装置）は、請求項１１に記載の発明（画像形成装置）に関して、前記記憶媒体に記憶された前記設定ファイルの電子署名は、当該設定ファイルと当該記憶媒体に固有なデータとから作成したメッセージダイジェストを暗号化したものである。
【００１７】
請求項１３に記載の発明（画像形成装置）は、請求項１２に記載の発明（画像形成装置）に関して、前記記憶媒体に固有な前記データは、前記記憶媒体のシリアルＩＤである。
【００１８】
請求項１４に記載の発明（プログラム更新方法）は、当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置についてのプログラム更新方法であって、前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新段階を備える。
【００１９】
請求項１５に記載の発明（プログラム更新方法）は、当該画像形成装置を機能させるプログラムが記憶された記憶媒体をセットするための記憶媒体セット手段と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置についてのプログラム更新方法であって、前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新段階を備える。
【００２０】
請求項１６に記載の発明（プログラム更新方法）は、当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムを受信する受信手段とを備える画像形成装置についてのプログラム更新方法であって、前記受信手段により受信された前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記受信手段により受信された前記プログラムに更新するプログラム更新段階を備える。
【００２１】
請求項１７に記載の発明（プログラム更新方法）は、当該画像形成装置を機能させるプログラムが記憶された記憶媒体をセットするための記憶媒体セット手段と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムを受信する受信手段とを備える画像形成装置についてのプログラム更新方法であって、前記受信手段により受信された前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記受信手段により受信された前記プログラムに更新するプログラム更新段階を備える。
【００２２】
請求項１８に記載の発明（プログラム更新方法）は、請求項１４又は１５に記載の発明（プログラム更新方法）に関して、前記プログラム更新段階は、前記記憶媒体に記憶された前記プログラムと、そのプログラムに係る電子署名とを、前記更新用記憶媒体から取得される前記プログラムと、そのプログラムに係る電子署名とに更新する。
【００２３】
請求項１９に記載の発明（プログラム更新方法）は、請求項１６又は１７に記載の発明（プログラム更新方法）に関して、前記プログラム更新段階は、前記記憶媒体に記憶された前記プログラムと、そのプログラムに係る電子署名とを、前記受信手段により受信された前記プログラムと、そのプログラムに係る電子署名とに更新する。
【００２４】
請求項２０に記載の発明（プログラム更新方法）は、請求項１４乃至１９のいずれか１項に記載の発明（プログラム更新方法）に関して、前記記憶媒体に記憶された前記プログラムを、当該プログラムに係る電子署名の正当性と、当該プログラムに係る設定ファイルの電子署名の正当性とを条件に、当該記憶媒体に記憶された当該設定ファイルに従って起動するプログラム起動段階を備える。
【００２５】
請求項２１に記載の発明（更新用記憶媒体）は、請求項１又は２に記載の更新用記憶媒体であって、請求項１又は２に記載の記憶媒体に記憶された前記プログラムを更新するためのプログラムと、そのプログラムに係る電子署名とが記憶された更新用記憶媒体である。
【００２６】
請求項１又は２に記載の発明（画像形成装置）は、画像形成装置を機能させるプログラムを新たなプログラムに更新するため、その新たなプログラムを更新用記憶媒体を介して授受する場合に関して、その新たなプログラムの信頼性を向上させることを可能とする。 
請求項３又は４に記載の発明（画像形成装置）は、画像形成装置を機能させるプログラムを新たなプログラムに更新するため、その新たなプログラムを通信により授受する場合に関して、その新たなプログラムの信頼性を向上させることを可能とする。 
請求項１４又は１５に記載の発明（プログラム更新方法）は、画像形成装置を機能させるプログラムを新たなプログラムに更新するため、その新たなプログラムを更新用記憶媒体を介して授受する場合に関して、その新たなプログラムの信頼性を向上させることを可能とする。 
請求項１６又は１７に記載の発明（プログラム更新方法）は、画像形成装置を機能させるプログラムを新たなプログラムに更新するため、その新たなプログラムを通信により授受する場合に関して、その新たなプログラムの信頼性を向上させることを可能とする。 
請求項２１に記載の発明（更新用記憶媒体）は、画像形成装置を機能させるプログラムを新たなプログラムに更新するため、その新たなプログラムを更新用記憶媒体を介して授受する場合に関して、その新たなプログラムの信頼性を向上させることを可能とする。
【発明の効果】
【００２７】
このように、本発明は、画像形成装置を機能させるプログラムを新たなプログラムに更新する場合に関して、その新たなプログラムの信頼性を向上させることを可能とする。
【発明を実施するための最良の形態】
【００２８】
本発明の実施の形態について説明する。
【００２９】
図１は、本発明の実施の形態の例である融合機１０１を表す。図１の融合機１０１は、種々のハードウェア１１１と、種々のソフトウェア１１２と、融合機起動部１１３により構成される。これらにより、図１の融合機１０１は、コピーやプリンタやスキャナやファクシミリとして機能する。
【００３０】
ハードウェア１１１としては、撮像部１２１と、印刷部１２２と、その他のハードウェア１２３が存在する。
【００３１】
撮像部１２１は、原稿から画像（画像データ）を取得するためのハードウェアであり、コピーやスキャナやファクシミリとして機能する際に使用される。撮像部１２１は、白黒画像用の物でもカラー画像用の物でもよい。撮影部１２１は、原稿に関する機構として、原稿セット部等を備える。
【００３２】
印刷部１２２は、画像（画像データ）を印刷用紙等に印刷するためのハードウェアであり、コピーやプリンタやファクシミリとして機能する際に使用される。印刷部１２２は、白黒画像用の物でもカラー画像用の物でもよい。印刷部１２２は、ここでは電子写真方式を採用しており、感光体、帯電機、露光機、現像機、転写機、定着機等を備える。印刷部１２２は、印刷用紙等に関する機構として、給紙部、排紙部、印刷用紙搬送機構等を備える。
【００３３】
その他のハードウェア１２３に関しては、図２において説明する。
【００３４】
ソフトウェア１１２としては、種々のアプリケーション１３１と、プラットフォーム１３２が存在する。これらは、ＵＮＩＸ（登録商標）等のＯＳ（オペレーティングシステム）によりプロセス単位で並列的に実行される。
【００３５】
アプリケーション１３１は、コピーやプリンタやスキャナやファクシミリ等の各機能に固有の情報処理を実行するためのソフトウェアである。アプリケーション１３１としては、コピー用のアプリケーションであるコピーアプリ１４１と、プリンタ用のアプリケーションであるプリンタアプリ１４２と、スキャナ用のアプリケーションであるスキャナアプリ１４３と、ファクシミリ用のアプリケーションであるファクシミリアプリ１４４と、ネットワークファイル用のアプリケーションであるネットワークファイルアプリ１４５が存在する。ネットワークファイルアプリ１４５は、ＨＴＭＬ文書等を配信するためのＷｅｂサーバソフト、ＨＴＭＬ文書等を閲覧するためのＷｅｂブラウザ等により構成される。
【００３６】
プラットフォーム１３２は、アプリケーション１３１からハードウェア１１１への処理要求に関する情報処理を実行するためのソフトウェアである。アプリケーション１３１からの処理要求の受信には、予め定義されている関数により処理要求を受信するアプリケーションインタフェース（ＡＰＩ）１３３を利用して、ハードウェア１１１への処理要求の送信には、予め定義されている関数により処理要求を送信するエンジンインタフェース（ＥＮＩ）１３４を利用する。プラットフォーム１３２は、種々のコントロールサービス１５１と、システムリソースマネージャ１５２と、種々のハンドラ１５３により構成される。
【００３７】
コントロールサービス１５１は、アプリケーション１３１からハードウェア１１１への処理要求を解釈して、解釈結果に応じてハードウェア１１１の獲得要求を発生する。コントロールサービス１５１としては、ネットワークコントロールサービス（ＮＣＳ）１６１と、ファクシミリコントロールサービス（ＦＣＳ）１６２と、デリバリコントロールサービス（ＤＣＳ）１６３と、エンジンコントロールサービス（ＥＣＳ）１６４と、メモリコントロールサービス（ＭＣＳ）１６５と、オペレーションパネルコントロールサービス（ＯＣＳ）１６６と、ユーザディレクトリコントロールサービス（ＵＣＳ）１６７と、システムコントロールサービス（ＳＣＳ）１６８と、オンデマンドアップデートサービス（ＯＵＳ）１６９が存在する。
【００３８】
ＮＣＳ１６１のプロセスは、ネットワーク等を介してデータ通信を行うためのＡＰＩを提供する。ＦＣＳ１６２のプロセスは、ファクシミリとして画像データ通信・画像データ取得・画像データ印刷等を行うためのＡＰＩを提供する。ＤＣＳ１６３のプロセスは、融合機１０１に蓄積されている文書データの配信に関する制御を行う。ＥＣＳ１６４のプロセスは、撮像部１２１や印刷部１２２等のエンジン部に関する制御を行う。ＭＣＳ１６５のプロセスは、画像データ記憶・画像データ処理等のメモリやハードディスクドライブに関する制御を行う。ＯＣＳ１６６のプロセスは、オペレーションパネルに関する制御を行う。ＵＣＳ１６７のプロセスは、ユーザ情報の管理に関する制御を行う。ＳＣＳ１６８のプロセスは、システムの管理に関する制御を行う。ＯＵＳ１６９のプロセスは、プログラムの更新に関する制御を行う。
【００３９】
システムリソースマネージャ（ＳＲＭ）１５２は、ハードウェア１１１の獲得要求を調停して、調停結果に応じてハードウェア１１１への処理要求を実現するための制御を行う。具体的に言うと、ＳＲＭ１５２のプロセスは、獲得要求に係るハードウェア１１１が利用可能か否か（他の獲得要求と競合しないか否か）を判定して、利用可能である場合にはその旨をコントロールサービス１５１に通知する。さらには、獲得要求に係るハードウェア１１１の利用スケジュールを作成して、作成結果に応じてハードウェア１１１への処理要求を実現するための制御を行う。
【００４０】
ハンドラ１５３は、上記の調停結果に応じてハードウェア１１１を管理する。ハンドラ１５３としては、ファクシミリコントロールユニットハンドラ（ＦＣＵＨ）１７１と、イメージメモリハンドラ（ＩＭＨ）１７２が存在する。ＦＣＵＨ１７１は、ファクシミリコントロールユニットを管理する。ＩＭＨ１７２は、メモリを各プロセスに割り振り、各プロセスが割り振られたメモリを管理する。
【００４１】
融合機起動部１１３は、融合機１０１の電源投入時に最初に実行される。これにより、ＵＮＩＸ（登録商標）等のＯＳが起動されて、アプリケーション１３１とプラットフォーム１３２が起動される。これらのプログラムは、メモリカード等に蓄積されており、メモリカード等から再生されて、メモリに起動されることになる。
【００４２】
図２は、図１の融合機１０１のハードウェア１１１を表す。ハードウェア１１１としては、コントローラ２０１と、オペレーションパネル２０２と、ファクシミリコントロールユニット（ＦＣＵ）２０３と、撮像部１２１と、印刷部１２２が存在する。図２における撮像部１２１と印刷部１２２を除く構成要素が、図１における「その他のハードウェア１２３」に該当する。
【００４３】
コントローラ２０１は、ＣＰＵ２１１と、ＡＳＩＣ２１２と、ＮＢ（ノースブリッジ）２２１と、ＳＢ（サウスブリッジ）２２２と、ＭＥＭ−Ｐ（システムメモリ）２３１と、ＭＥＭ−Ｃ（ローカルメモリ）２３２と、ＨＤＤ（ハードディスクドライブ）２３３と、ＮＩＣ（ネットワークインタフェースコントローラ）２４１と、ＵＳＢデバイス２４２と、ＩＥＥＥ１３９４デバイス２４３と、セントロニクスデバイス２４４と、メモリカード用スロット２５１と、更新用メモリカード用スロット２５２により構成される。
【００４４】
ＣＰＵ２１１は、種々の情報処理を実行するためのハードウェアである。例えば、ＵＮＩＸ（登録商標）等のＯＳにより、アプリケーション１３１とプラットフォーム１３２をプロセス単位で並列的に実行する。ＡＳＩＣ２１２は、画像データ処理用のＩＣである。ＮＢ２２１は、ＣＰＵ２１１とＡＳＩＣ２１２を接続するためのブリッジである。ＳＢ２２２は、ＮＢ２２１と周辺機器等を接続するためのブリッジである。ＡＳＩＣ２１２とＮＢ２２１は、ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）を介して接続されている。
【００４５】
ＭＥＭ−Ｐ２３１は、ＮＢ２２１に接続されて使用されるメモリである。ＭＥＭ−Ｃ２３２は、ＡＳＩＣ２１２に接続されて使用されるメモリである。ＨＤＤ２３３は、ＡＳＩＣ２１２に接続されて使用されるストレージであり、画像データ蓄積・文書データ蓄積・プログラム蓄積・フォントデータ蓄積・フォームデータ蓄積等を行うために使用される。
【００４６】
ＮＩＣ２４１は、ネットワーク等を介してＭＡＣアドレス等を使用したデータ通信を行うためのコントローラである。ＵＳＢデバイス２４２は、ＵＳＢ規格に準拠したシリアルポートを提供するためのデバイスである。ＩＥＥＥ１３９４デバイス２４３は、ＩＥＥＥ１３９４規格に準拠したシリアルポートを提供するためのデバイスである。セントロニクスデバイス２４４は、セントロニクス仕様のパラレルポートを提供するためのデバイスである。ＮＩＣ２４１と、ＵＳＢデバイス２４２と、ＩＥＥＥ１３９４デバイス２４３と、セントロニクスデバイス２４４は、ＰＣＩバスによりＮＢ２２１とＳＢ２２２に接続されている。
【００４７】
メモリカード用スロット２５１は、ＳＢ２２２に接続されて使用されるスロットであり、メモリカード２６１をセット（挿入）するためのスロットである。更新用メモリカード用スロット２５２は、ＳＢ２２２に接続されて使用されるスロットであり、更新用メモリカード２６２をセット（挿入）するためのスロットである。
【００４８】
オペレーションパネル２０２は、オペレータが融合機１０１に入力を行うためのハードウェア（操作部）であると共に、融合機１０１がオペレータに出力を行うためのハードウェア（表示部）である。オペレーションパネル２０２は、ＡＳＩＣ２１２に接続されている。ＦＣＵ２０３と、撮像部１２１と、印刷部１２２は、ＰＣＩバスによりＡＳＩＣ２１２に接続されている。
【００４９】
図３は、図１の融合機１０１の外観を表す。図３には、撮像部１２１の位置、印刷部１２２の位置、オペレーションパネル２０２の位置が図示されている。図３にはさらに、原稿をセットするための原稿セット部３０１、印刷用紙の給紙先となる給紙部３０２、印刷用紙の排紙先となる排紙部３０３が図示されている。原稿セット部３０１は、撮像部１２１の構成要素であり、給紙部３０２と排紙部３０３は、印刷部１２２の構成要素である。
【００５０】
オペレーションパネル２０２は、図４のように、タッチパネル３１１と、数字ボタン３１２と、スタートボタン３１３により構成される。
【００５１】
タッチパネル３１１は、オペレータが融合機１０１にタッチ操作で入力を行うためのハードウェア（タッチ操作部）であると共に、融合機１０１がオペレータに画面表示で出力を行うためのハードウェア（画面表示部）である。数字ボタン３１２は、オペレータが融合機１０１にボタン操作で数字入力を行うためのハードウェアである。スタートボタン３１３は、オペレータが融合機１０１にボタン操作でスタート入力を行うためのハードウェアである。
【００５２】
融合機１０１は、原稿セット部３０１に原稿がセットされている場合、スタートボタン３１３が押されることで、撮像部１２１によりその原稿から画像を取得する。融合機１０１は、コピーとして機能する場合、印刷部１２２によりその画像を印刷用紙等に印刷することになり、スキャナやファクシミリとして機能する場合、ＮＩＣ２４１等によりその画像をネットワーク等を介して他の機器に送信することになる。印刷用紙の給紙先は給紙部３０２であり、印刷用紙の排紙先は排紙部３０３である。
【００５３】
原稿セット部３０１は、ＡＤＦ（自動原稿搬送装置）３２１と、フラットベッド３２２と、フラットベッドカバー３２３により構成される。
【００５４】
ＡＤＦ３２１は、フラットベッドカバー３２３の上面に設置されている。ＡＤＦ３２１には複数枚の原稿を重ねてセットすることができる。融合機１０１は、ＡＤＦ３２１に原稿がセットされている場合、スタートボタン３１３が押されることで、撮像部１２１によりその原稿から画像を取得する。具体的に言うと、スタートボタン３１３が押されると、ＡＤＦ３２１が、図３の矢印のような経路で複数枚の原稿を１枚ずつ搬送して、撮像部１２１が、図３の矢印のような経路で１枚ずつ搬送される原稿から画像を取得する。
【００５５】
フラットベッド３２２は、フラットベッドカバー３２３を開くと現れる。フラットベッド３２２は、ガラスやプラスチックのような透明部材により形成されている。フラットベッド３２２には原稿を下向きにセットする。融合機１０１は、フラットベッド３２２に原稿がセットされている場合、スタートボタン３１３が押されることで、撮像部１２１によりその原稿から画像を取得する。具体的に言うと、スタートボタン３１３が押されると、撮像部１２１が、フラットベッド３２２を介して対面する原稿から画像を取得する。
【００５６】
給紙部３０２は、印刷用紙の給紙先となる４箇所の給紙トレイと１箇所の手差しトレイにより構成される。排紙部３０３は、印刷用紙の排紙先となる１箇所の排紙トレイにより構成される。
【００５７】
（融合機起動部）
図１において登場した融合機起動部１１３について説明する。
【００５８】
融合機起動部１１３は、図５のように、メモリモニタ部５０１と、プログラム起動部５０２により構成される。
【００５９】
図１の融合機１０１の電源が投入されると、メモリモニタ部５０１を構成するＢＩＯＳとブートローダが起動されて、これにより、ＵＮＩＸ（登録商標）等のＯＳが起動される。続いて、プログラム起動部５０２を構成する起動処理用プログラムが起動されて、これにより、アプリケーション１３１やプラットフォーム１３２が適宜起動される。なお、ＵＮＩＸ（登録商標）が起動される場合には、ＵＮＩＸ（登録商標）のカーネルが起動されて、ルートファイルシステムが展開されて、アプリケーション１３１やプラットフォーム１３２に係るファイルシステムがルートファイルシステムにマウントされることになる。
【００６０】
アプリケーション１３１やプラットフォーム１３２に係るマウント処理や起動処理の例を挙げておく。プログラム起動部５０２は、ＵＮＩＸ（登録商標）のルートディレクトリ内のｅｔｃ内のマスタ設定ファイル「ｉｎｉｔ．ｃｏｎｆ」を読み込んで、マスタ設定ファイル内に記述されたマウントコマンドに従ってマウントや起動を実行する。プログラム起動部５０２はさらに、マウントされたファイルシステム内に、１）設定ファイル「ｉｎｉｔ．ｃｏｎｆ」や「ｉｎｉｔ．ｃｎｆ」が存在する場合、設定ファイルを読み込んで、設定ファイル内に記述されたマウントコマンドに従ってマウントや起動を実行して、２）設定ディレクトリ「ｉｎｉｔ．ｄ」が存在する場合、設定ディレクトリ内の設定ファイル「＊＊＊．ｃｏｎｆ」や「＊＊＊．ｃｎｆ」を読み込んで、設定ファイル内に記述されたマウントコマンドに従ってマウントや起動を実行する。なお、設定ファイルの電子署名を書き込んだ認証ファイル「＊＊＊．ｌｉｃ」を用意しておき、プログラム起動部５０２が、設定ファイル内に記述されたマウントコマンドに従ってマウントや起動を実行するのに先立ち、その設定ファイルの電子署名チェックを実行するようにしてもよい。
【００６１】
電子署名チェックについてメモリカード２６１を具体例にして説明する。
【００６２】
メモリカード２６１には、図６の例のように、アプリケーション１３１やプラットフォーム１３２等のプログラムを、拡張子をｍｏｄとするｍｏｄファイル「＊＊＊．ｍｏｄ」として記憶させておくと共に、ｍｏｄファイルの電子署名を、拡張子をｍａｃとするｍａｃファイル「＊＊＊．ｍａｃ」として記憶させておく。
【００６３】
メモリカード２６１にはさらに、図６の例のように、設定ファイル（融合機起動部の欄参照）を、拡張子をｃｎｆとするｃｎｆファイル「＊＊＊．ｃｎｆ」として記憶させておくと共に、設定ファイルの電子署名を書き込んだ認証ファイル（融合機起動部の欄参照）を、拡張子をｌｉｃとするｌｉｃファイル「＊＊＊．ｌｉｃ」として記憶させておく。
【００６４】
各ファイルの電子署名はここでは、ＭＤ５やＳＨＡ１等のハッシュ関数により各ファイルから作成したメッセージダイジェストを、秘密鍵により暗号化したものである。例えば、ｍｏｄファイルやｃｎｆファイルの電子署名は、ｍｏｄファイルやｃｎｆファイルから作成したメッセージダイジェストを、秘密鍵により暗号化したものである。
【００６５】
各ファイルの電子署名チェックはここでは、各ファイルからＭＤ５やＳＨＡ１等のハッシュ関数により作成したメッセージダイジェストと、各ファイルの電子署名を公開鍵により復号化したメッセージダイジェストとの照合をもって実行可能である。例えば、ｍｏｄファイルやｃｎｆファイルの電子署名の正当性は、ｍｏｄファイルやｃｎｆファイルから作成したメッセージダイジェストと、ｍａｃファイルやｌｉｃファイルに書き込まれた電子署名を公開鍵により復号化したメッセージダイジェストとの照合をもって判断可能である。各ファイルの電子署名チェックは例えば、プログラム起動部５０２によるマウント処理や起動処理の一環として、プログラム起動部５０２が実行するようにする。
【００６６】
なお、メモリカード２６１としてＳＤメモリカードを採用する場合は、ｃｎｆファイルの電子署名は、ｃｎｆファイルとＳＤシリアルＩＤとから作成したメッセージダイジェストを、秘密鍵により暗号化したものであってもよい。ＳＤメモリカードのＳＤシリアルＩＤは各ＳＤメモリカードに固有なＩＤなので、各ＳＤメモリカードに記憶させておくｌｉｃファイルが各ＳＤメモリカードに固有なファイルになり、カードのコピー防止に役立つ。この場合、ｃｎｆファイルの電子署名の正当性は、ｃｎｆファイルとＳＤシリアルＩＤとから作成したメッセージダイジェストと、ｌｉｃファイルに書き込まれた電子署名を公開鍵により復号化したメッセージダイジェストとの照合をもって判断可能である。ＳＤメモリカードのＳＤシリアルＩＤは各ＳＤメモリカードに記憶されている。これを前提として、メモリカード２６１内のファイルを対象とするマウント処理と起動処理について説明する。
【００６７】
図７は、メモリカード２６１内のファイルを対象とするマウント処理と起動処理に係るフローチャートである。
【００６８】
プログラム起動部５０２は、メモリカード用スロット２５１に挿入されたメモリカード２６１がマウントされる（Ｓ３１）と、メモリカード２６１内の各ｃｎｆファイルの電子署名チェックを実行（Ｓ３２）すると共に、メモリカード２６１内の各ｍｏｄファイルの電子署名チェックを実行（Ｓ３３）する。プログラム起動部５０２はそして、ｍｏｄファイル（アプリケーション１３１やプラットフォーム１３２等のプログラム）を、当該ｍｏｄファイルに係るｃｎｆファイルの電子署名の正当性と、当該ｍｏｄファイルの電子署名の正当性とを条件に、当該ｃｎｆファイル内に記述された当該ｍｏｄファイルに係るマウントコマンドに従ってマウント（Ｓ３４）して起動（Ｓ３５）するのである。
【００６９】
具体的に再説明する。プログラム起動部５０２は先ず、メモリカード２６１内にｃｎｆファイルが存在したら、そのｃｎｆファイルの電子署名チェックを実行（Ｓ３２）する。例えば、メモリカード２６１内にｃｏｐｙ．ｃｎｆが存在したらｃｏｐｙ．ｃｎｆの電子署名チェックを実行する、といった具合である。そのｃｎｆファイルの電子署名の正当性を条件にＳ３３に進む。プログラム起動部５０２は次に、そのｃｎｆファイル内にｍｏｄファイルに係るマウントコマンドが存在したら、そのｍｏｄファイルの電子署名チェックを実行（Ｓ３３）する。例えば、ｃｏｐｙ．ｃｎｆ内にｃｏｐｙ．ｍｏｄに係るマウントコマンド「ｍｏｕｎｔ  ｇｚｒｏｍｆｓ  ｃｏｐｙ．ｍｏｄ  ／ａｒｃｈ／ｃｏｐｙ」が存在したらｃｏｐｙ．ｍｏｄの電子署名チェックを実行する、といった具合である。そのｍｏｄファイルの電子署名の正当性を条件にＳ３４に進む。プログラム起動部５０２はそして、そのｍｏｄファイル（アプリケーション１３１やプラットフォーム１３２等のプログラム）を、ｃｎｆファイル内に記述されたそのｍｏｄファイルに係るマウントコマンドに従ってマウント（Ｓ３４）して起動（Ｓ３５）するのである。
【００７０】
このようにして、メモリカード２６１内のｍｏｄファイル（アプリケーション１３１やプラットフォーム１３２等のプログラム）が、メモリカード２６１内のｃｎｆファイル内に記述されたマウントコマンドに従ってマウント（Ｓ３４）されて起動（Ｓ３５）されるのである。
【００７１】
図８は、メモリカード２６１内のｃｎｆファイルの電子署名チェック（Ｓ３２）に係るフローチャートである。プログラム起動部５０２は先ず、メモリカード２６１（ＳＤメモリカード）から当該メモリカード２６１のシリアルＩＤ（ＳＤシリアルＩＤ）を取得（Ｓ４１）する。プログラム起動部５０２は次に、ＭＤａを作成（Ｓ４２）する。ＭＤａは、ｃｎｆファイルと上記のシリアルＩＤとから作成したメッセージダイジェストである。プログラム起動部５０２は次に、ＭＤｂを作成（Ｓ４３）する。ＭＤｂは、ｌｉｃファイルに書き込まれた電子署名（ｃｎｆファイルと上記のシリアルＩＤとから作成したメッセージダイジェストを、秘密鍵により暗号化したもの）を公開鍵により復号化したメッセージダイジェストである。プログラム起動部５０２はそして、ｃｎｆファイルの電子署名の正当性をＭＤａとＭＤｂとの照合をもって判断（Ｓ４４）する。ＭＤａとＭＤｂとが一致すればｃｎｆファイルの電子署名は正当であると判断（Ｓ４５）され、ＭＤａとＭＤｂとが一致しなければｃｎｆファイルの電子署名は正当でないと判断（Ｓ４６）される。
【００７２】
図９は、メモリカード２６１内のｍｏｄファイルの電子署名チェック（Ｓ３３）に係るフローチャートである。プログラム起動部５０２は先ず、ＭＤａを作成（Ｓ５１）する。ＭＤａは、ｍｏｄファイルから作成したメッセージダイジェストである。プログラム起動部５０２は次に、ＭＤｂを作成（Ｓ５２）する。ＭＤｂは、ｍａｃファイルに書き込まれた電子署名（ｍｏｄファイルから作成したメッセージダイジェストを秘密鍵により暗号化したもの）を公開鍵により復号化したメッセージダイジェストである。プログラム起動部５０２はそして、ｍｏｄファイルの電子署名の正当性をＭＤａとＭＤｂとの照合をもって判断（Ｓ５３）する。ＭＤａとＭＤｂとが一致すればｍｏｄファイルの電子署名は正当であると判断（Ｓ５４）され、ＭＤａとＭＤｂとが一致しなければｍｏｄファイルの電子署名は正当でないと判断（Ｓ５５）される。
【００７３】
（メモリカードと更新用メモリカード）
図２において登場したメモリカード用スロット２５１、更新用メモリカード用スロット２５２、メモリカード２６１、更新用メモリカード２６２について説明する。
【００７４】
メモリカード用スロット２５１は、アプリケーション１３１やプラットフォーム１３２等のプログラムが記憶されたメモリカード２６１をセット（挿入）するためのスロットである。図１の融合機１０１においては、アプリケーション１３１やプラットフォーム１３２は、メモリカード用スロット２５１にセットされたメモリカード２６１等に蓄積されており、メモリカード用スロット２５１にセットされたメモリカード２６１等から再生されて、ＭＥＭ−Ｐ２３１やＭＥＭ−Ｃ２３２に起動される。
【００７５】
更新用メモリカード用スロット２５２は、アプリケーション１３１やプラットフォーム１３２等のプログラムを更新するための新たなプログラムが記憶された更新用メモリカード２６２をセット（挿入）するためのスロットである。図１の融合機１０１においては、メモリカード用スロット２５１にセットされたメモリカード２６１に記憶されたプログラムを、更新用メモリカード用スロット２５２にセットされた更新用メモリカード２６２から取得されるプログラムに更新することができる。
【００７６】
メモリカード２６１と更新用メモリカード２６２としては、フラッシュメモリカードの一種であるＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードを採用することにする。ＳＤメモリカードを採用することで、例えば、大容量のメモリを安価で利用できるというメリットを享受できる。なお、メモリカード用スロット２５１と更新用メモリカード用スロット２５２としては、ＳＤメモリカード用スロットが採用される。
【００７７】
図１の融合機１０１には、図１０のように、ＳＤメモリカード用スロット６０１とＳＤメモリカード６１１に係るソフトウェアとして、ＳＤメモリカードアクセスドライバ（ＳＤａｃｃｅｓｓ）６２１と、ＳＤメモリカードステータスドライバ（ＳＤｓｔａｔｅｓ）６２２と、起動処理用プログラム６２３と、ＳＤメモリカードチェックプログラム（ＳＤｃｈｅｃｋ）６２４が存在する。
【００７８】
ＳＤａｃｃｅｓｓ６２１は、ＳＤメモリカード６１１の挿入・抜出を検知する等、ＳＤメモリカード６１１に対するアクセス制御を実行するドライバである。ＳＤｓｔａｔｅｓ６２２は、ＳＤメモリカード６１１の挿入・抜出・マウント・アンマウントに関する情報を管理するドライバである。起動処理用プログラム６２３は、図５のプログラム起動部５０２を構成するプログラムである。ＳＤｃｈｅｃｋ６２４は、ＳＤメモリカード６１１のマウント・アンマウントを実行するプログラムである。
【００７９】
ＳＤメモリカード用スロット６０１にＳＤメモリカード６１１が挿入された場合、ＳＤａｃｃｅｓｓ６２１は、ＳＤメモリカード６１１が挿入された事を検知（Ｓ１）すると共に、ＳＤｓｔａｔｅｓ６２２にその事を通知（Ｓ２）する。これに応じて、ＳＤｓｔａｔｅｓ６２２は、ＳＤメモリカード６１１が挿入された旨の情報を管理することにすると共に、起動処理用プログラム６２３にその旨を通知（Ｓ３）する。これに応じて、起動処理用プログラム６２３は、ＳＤメモリカード６１１のマウントを実行させるために、ＳＤｃｈｅｃｋ６２４を起動（Ｓ４）させる。これに応じて、ＳＤｃｈｅｃｋ６２４は、ＳＤメモリカード６１１のマウントを実行（Ｓ５）すると共に、ＳＤｓｔａｔｅｓ６２２にその事を通知（Ｓ６）する。これに応じて、ＳＤｓｔａｔｅｓ６２２は、ＳＤメモリカード６１１がマウントされた旨の情報を管理することにすると共に、起動処理用プログラム６２３等にその旨を通知（Ｓ７）する。
【００８０】
ＳＤメモリカード用スロット６０１からＳＤメモリカード６１１が抜き出された場合、ＳＤａｃｃｅｓｓ６２１は、ＳＤメモリカード６１１が抜き出された事を検知（Ｓ１）すると共に、ＳＤｓｔａｔｅｓ６２２にその事を通知（Ｓ２）する。これに応じて、ＳＤｓｔａｔｅｓ６２２は、ＳＤメモリカード６１１が抜き出された旨の情報を管理することにすると共に、起動処理用プログラム６２３にその旨を通知（Ｓ３）する。これに応じて、起動処理用プログラム６２３は、ＳＤメモリカード６１１のアンマウントを実行させるために、ＳＤｃｈｅｃｋ６２４を起動（Ｓ４）させる。これに応じて、ＳＤｃｈｅｃｋ６２４は、ＳＤメモリカード６１１のアンマウントを実行（Ｓ５）すると共に、ＳＤｓｔａｔｅｓ６２２にその事を通知（Ｓ６）する。これに応じて、ＳＤｓｔａｔｅｓ６２２は、ＳＤメモリカード６１１がアンマウントされた旨の情報を管理することにすると共に、起動処理用プログラム６２３等にその旨を通知（Ｓ７）する。
【００８１】
なお、ＳＤメモリカードを採用することで、いわゆる活線挿抜が可能になるというメリットを享受できる。すなわち、ＳＤメモリカード用スロット６０１にＳＤメモリカード６１１を挿入する操作と、ＳＤメモリカード用スロット６０１からＳＤメモリカード６１１を抜き出す操作が、融合機１０１の起動後に実行可能になる。
【００８２】
（第１実施例）
以上の説明を踏まえて、図１１により、図１の融合機１０１に係る第１実施例について説明する。
【００８３】
更新用メモリカード２６２には、図１２のように、アプリケーション１３１やプラットフォーム１３２等のプログラムを更新するための新たなプログラムを、拡張子をｆｗｕとするｆｗｕファイル８０１として記憶させておく。
【００８４】
ｆｗｕファイル８０１は、ヘッダ部分８１１と、データ部分８１２により構成される。ヘッダ部分８１１は、ヘッダＡ１、ヘッダＡ２、ヘッダＢ１、ヘッダＢ２等により構成されて、データ部分８１２は、データＡ１、データＡ２、データＢ１、データＢ２等により構成される。ヘッダＡ１、ヘッダＡ２、ヘッダＢ１、ヘッダＢ２等がそれぞれ、データＡ１、データＡ２、データＢ１、データＢ２等のヘッダに相当する。
【００８５】
データＡ１やデータＢ１は、モジュールプログラムに相当するデータである。モジュールプログラムは、アプリケーション１３１やプラットフォーム１３２等におけるコピーアプリ１４１やＮＣＳ１６１等（モジュール）のプログラム（モジュールプログラム）を更新するための新たなプログラムである。すなわち、アプリケーション１３１やプラットフォーム１３２等のプログラムをモジュールごとに更新するための新たなプログラムである。なお、モジュールプログラムは、バイナリデータ化して記憶させておくものとする。
【００８６】
データＡ２やデータＢ２は、モジュールプログラムに係る電子署名に相当するデータである。電子署名はここでは、ＭＤ５やＳＨＡ１等のハッシュ関数によりモジュールプログラムから作成したメッセージダイジェストを、秘密鍵により暗号化したものである。データＡ２は、データＡ１に係る電子署名に相当して、データＢ２は、データＢ１に係る電子署名に相当する。
【００８７】
ヘッダＡ１やヘッダＡ２やヘッダＢ１やヘッダＢ２はそれぞれ、モジュールの種類を表すモジュールＩＤと、モジュールプログラムであるか電子署名であるかを表すフラグと、モジュールプログラムや電子署名を各機種のどのディレクトリにインストールするかを表す機種名とパス名により構成される。
【００８８】
更新用メモリカード２６２内のファイル構成の例を図１３に示した。図１３の例では、更新用メモリカード２６２内に、ｆｗｕファイル「ｕｐｄａｔｅ＿ｊａｎ＿２００４．ｆｗｕ」「ｕｐｄａｔｅ＿ｆｅｂ＿２００４．ｆｗｕ」「ｕｐｄａｔｅ＿ｍａｒ＿２００４．ｆｗｕ」が記憶されている。
【００８９】
メモリカード２６１には、図１４のように、アプリケーション１３１やプラットフォーム１３２等のプログラムを、拡張子をｍｏｄとするｍｏｄファイル９０１として記憶させておくと共に、アプリケーション１３１やプラットフォーム１３２等のプログラムに係る電子署名を、拡張子をｍａｃとするｍａｃファイル９０２として記憶させておく。
【００９０】
ｍｏｄファイル９０１は、データ９１１により構成される。データ９１１は、データＡ１やデータＢ１と同様に、モジュールプログラムに相当するデータである。
【００９１】
ｍａｃファイル９０２は、データ９１２により構成される。データ９１２は、データＡ２やデータＢ２と同様に、モジュールプログラムに係る電子署名に相当するデータである。
【００９２】
メモリカード２６１内のファイル構成の例を図１５に示した。図１５の例では、メモリカード２６２内に、ｍｏｄファイル「ｃｏｐｙ．ｍｏｄ」「ｐｒｉｎｔｅｒ．ｍｏｄ」「ｎｅｔｗｏｒｋ．ｍｏｄ」等と、ｍａｃファイル「ｃｏｐｙ．ｍａｃ」「ｐｒｉｎｔｅｒ．ｍａｃ」「ｎｅｔｗｏｒｋ．ｍａｃ」等と、ｃｎｆファイル「ｃｏｐｙ．ｃｎｆ」「ｐｒｉｎｔｅｒ．ｃｎｆ」「ｎｅｔｗｏｒｋ．ｃｎｆ」等と、ｌｉｃファイル「ｃｏｐｙ．ｃｎｆ」「ｐｒｉｎｔｅｒ．ｌｉｃ」「ｎｅｔｗｏｒｋ．ｌｉｃ」等とが記憶されている。
【００９３】
融合機１０１の起動後に更新用メモリカード用スロット２５２に更新用メモリカード２６２が挿入された場合、ＳＤａｃｃｅｓｓ６２１とＳＤｓｔａｔｅｓ６２２と起動処理用プログラム６２３とＳＤｃｈｅｃｋ６２４によりＳ１からＳ７までの処理が実行されると共に、更新用メモリカード２６２が挿入されてマウントされた旨が、ＳＤｓｔａｔｅｓ６２２からＳＣＳ１６８を構成するオンデマンドアップデートサービス（ＯＵＳ）１６９に通知（Ｓ１１）される。これに応じて、ＯＵＳ１６９は、ＭＣＳ１６５を介してメモリを取得（Ｓ１２）すると共に、更新用メモリカード用スロット２５２に挿入された更新用メモリカード２６２からｆｗｕファイル８０１を取得してメモリに展開（Ｓ１３）する。
【００９４】
ＯＵＳ１６９はそして、ｆｗｕファイル８０１として取得された各モジュールプログラムに係る電子署名の正当性を条件に、ｍｏｄファイル９０１として記憶された各モジュールプログラムを、ｆｗｕファイル８０１として取得された各モジュールプログラムに更新（Ｓ１４）する。あるモジュールプログラムに係る電子署名が正当であるか否かは、そのモジュールプログラムからＭＤ５やＳＨＡ１等のハッシュ関数により作成したメッセージダイジェストと、そのモジュールプログラムに係る電子署名を公開鍵により復号化したメッセージダイジェストとが、一致するか否かにより判断する。そのモジュールプログラムが途中で改変（改竄や文字化け等）された場合、メッセージダイジェストが一致しないため、そのモジュールプログラムに係る電子署名が正当でないと判断されることになる。このようにして、ｆｗｕファイル８０１として取得される各モジュールプログラムの信頼性が向上されることになる。
【００９５】
ＯＵＳ１６９はさらに、ｍｏｄファイル９０１として記憶された各モジュールプログラムを、ｆｗｕファイル８０１として取得された各モジュールプログラムに更新すると共に、ｍａｃファイル９０２として記憶された各モジュールプログラムに係る電子署名を、ｆｗｕファイル８０１として取得された各モジュールプログラムに係る電子署名に更新する。すなわち、モジュールプログラムを更新すると共に、そのモジュールプログラムに係る電子署名を更新するのである。これにより、各モジュールプログラムに係る電子署名が正当であるか否かを、更新後にも判断することが可能になり、各モジュールプログラムの信頼性がさらに向上されることになる。
【００９６】
ところで、更新用メモリカード２６２としてＳＤメモリカードを採用したことで、更新用メモリカード用スロット２５２に更新用メモリカード２６２を挿入する操作は、融合機１０１の起動後に実行可能になっている。融合機１０１の起動後に更新用メモリカード用スロット２５２に更新用メモリカード２６２が挿入された場合、更新処理が自動的に開始されて、Ｓ１からＳ７までの処理とＳ１１からＳ１４までの処理が実行されるのである。すなわち、更新用メモリカード２６２としてＳＤメモリカードを採用したことで、オンデマンド更新が実現されている。
【００９７】
なお、ここでは、更新用メモリカード２６２から取得されるプログラムに係る電子署名の正当性を条件に、メモリカード２６１に記憶されたプログラムを、更新用メモリカード２６２から取得されるプログラムに更新することにしたが、同様にして、更新用メモリカード２６２から取得されるプログラムに係る電子署名の正当性を条件に、ＨＤＤ２３３に記憶されたプログラムを、更新用メモリカード２６２から取得されるプログラムに更新することにしてもよい。
【００９８】
ＨＤＤ２３３内のファイル構成の例を図１６に示した。図１６の例では、ＨＤＤ２３３内に、ｍｏｄファイル「ｃｏｐｙ．ｍｏｄ」「ｐｒｉｎｔｅｒ．ｍｏｄ」「ｎｅｔｗｏｒｋ．ｍｏｄ」等と、ｍａｃファイル「ｃｏｐｙ．ｍａｃ」「ｐｒｉｎｔｅｒ．ｍａｃ」「ｎｅｔｗｏｒｋ．ｍａｃ」等と、ｃｎｆファイル「ｃｏｐｙ．ｃｎｆ」「ｐｒｉｎｔｅｒ．ｃｎｆ」「ｎｅｔｗｏｒｋ．ｃｎｆ」等とが記憶されている。
【００９９】
ここで、図１７により、ＯＵＳ１６９により実行される処理の詳細について説明する。
【０１００】
ＯＵＳ１６９は、更新用メモリカード２６２が挿入されてマウントされた旨を通知（Ｓ１１）されると、ＭＣＳ１６５を介してメモリを取得（Ｓ１２）すると共に、更新用メモリカード２６２に記憶されたｆｗｕファイル８０１のヘッダ部分８１１を解析（Ｓ１０１）する。続いて、ｆｗｕファイル８０１として記憶された各モジュールプログラムに係る電子署名が正当であるか否かを判断（Ｓ１０２）する。正当でないと判断されたモジュールプログラムについては、ＯＣＳ１６６を介してタッチパネル３１１にエラーモジュールとして表示（Ｓ１０３）して、正当であると判断されたモジュールプログラムについては、ＯＣＳ１６６を介してタッチパネル３１１に更新対象モジュールとして表示（Ｓ１０４）する。
【０１０１】
ＯＵＳ１６９は、タッチパネル３１１のタッチ操作により更新対象モジュールが選択（Ｓ１０５）されると、更新用メモリカード２６２からｆｗｕファイル８０１を取得してメモリに展開（Ｓ１３）すると共に、更新用メモリカード２６２から取得されたｆｗｕファイル８０１のヘッダ部分８１１を解析（Ｓ１０６）する。続いて、ｆｗｕファイル８０１として取得された各モジュールプログラムに係る電子署名が正当であるか否かを判断（Ｓ１０７）する。正当でないと判断されたモジュールプログラムについては、ＯＣＳ１６６を介してタッチパネル３１１にエラーモジュールとして表示（Ｓ１０８）して、正当であると判断されたモジュールプログラムについては、ｍｏｄファイル９０１として記憶されたモジュールプログラムを、ｆｗｕファイル８０１として取得されたそのモジュールプログラムに更新（Ｓ１４）する。
【０１０２】
なお、図１８のように、ｆｗｕファイル８０１として取得された各モジュールプログラムに係る電子署名が正当であるか否かを判断（Ｓ１０７）する前に、ｍｏｄファイル９０１として記憶された各モジュールプログラムのバックアップをとっておく（Ｓ１１１）ようにしてもよい。すなわち、ｍｏｄファイル９０１として記憶されたモジュールプログラムを、そのモジュールプログラムのバックアップをとってから、ｆｗｕファイル８０１として取得されたモジュールプログラムに更新（Ｓ１４）することで、更新処理の失敗に備えるのである。
【０１０３】
図１９は、各モジュールプログラムの電子署名チェック（Ｓ１０２，Ｓ１０７）に係るフローチャートである。ＯＵＳ１６９は先ず、ＭＤａを作成（Ｓ６１）する。ＭＤａは、モジュールプログラムから作成したメッセージダイジェストである。ＯＵＳ１６９は次に、ＭＤｂを作成（Ｓ６２）する。ＭＤｂは、モジュールプログラムに係る電子署名（モジュールプログラムから作成したメッセージダイジェストを、秘密鍵により暗号化したもの）を公開鍵により復号化したメッセージダイジェストである。ＯＵＳ１６９はそして、モジュールプログラムの電子署名の正当性を、ＭＤａとＭＤｂとの照合をもって判断（Ｓ６３）する。ＭＤａとＭＤｂとが一致すればモジュールプログラムに係る電子署名は正当であると判断（Ｓ６４）され、ＭＤａとＭＤｂとが一致しなければモジュールプログラムに係る電子署名は正当でないと判断（Ｓ６５）される。
【０１０４】
（第２実施例）
以上の説明を踏まえて、図２０により、図１の融合機１０１に係る第２実施例について説明する。第２実施例は、第１実施例の変形実施例である。
【０１０５】
融合機１０１の起動後にＮＩＣ２４１等により図１２のようなｆｗｕファイル８０１がネットワーク等を介して他の機器（例えば、融合機１０１のドライバがインストールされたパソコン）から受信された場合、ＮＣＳ１６１は、それがｆｗｕファイル８０１である事を判別（Ｓ２１）すると、ＳＣＳ１６８を構成するオンデマンドアップデートサービス（ＯＵＳ）１６９にそのｆｗｕファイル８０１を提供（Ｓ２２）する。これに応じて、ＯＵＳ１６９は、ＭＣＳ１６５を介してメモリを取得して、ｆｗｕファイル８０１をメモリに展開（Ｓ２３）する。
【０１０６】
ＯＵＳ１６９はそして、ｆｗｕファイル８０１として提供された各モジュールプログラムに係る電子署名の正当性を条件に、ｍｏｄファイル９０１として記憶された各モジュールプログラムを、ｆｗｕファイル８０１として提供された各モジュールプログラムに更新（Ｓ２４）する。
【０１０７】
ＯＵＳ１６９はさらに、ｍｏｄファイル９０１として記憶された各モジュールプログラムを、ｆｗｕファイル８０１として提供された各モジュールプログラムに更新すると共に、ｍａｃファイル９０２として記憶された各モジュールプログラムに係る電子署名を、ｆｗｕファイル８０１として提供された各モジュールプログラムに係る電子署名に更新する。
【０１０８】
なお、ここでは、ＮＩＣ２４１等により受信されたプログラムに係る電子署名の正当性を条件に、メモリカード２６１に記憶されたプログラムを、ＮＩＣ２４１等により受信されたプログラムに更新することにしたが、同様にして、ＮＩＣ２４１等により受信されたプログラムに係る電子署名の正当性を条件に、ＨＤＤ２３３に記憶されたプログラムを、ＮＩＣ２４１等により受信されたプログラムに更新することにしてもよい。
【０１０９】
ＯＵＳ１６９により実行される処理の詳細については、図１７や図１８や図１９と同様である。ただし、Ｓ１１やＳ１２やＳ１３やＳ１４の処理は、Ｓ２１やＳ２２やＳ２３やＳ２４の処理に適宜置換される。
【０１１０】
（応用例）
図１７や図１８の応用例として、更新用メモリカード２６２内に複数のｆｗｕファイル８０１が存在する場合のフローの例について説明する。
【０１１１】
図２１は、図１７の応用例に相当するフローチャートである。
【０１１２】
ＯＵＳ１６９は、更新用メモリカード２６２が挿入されてマウントされた旨を通知（Ｓ１１）されると、ＭＣＳ１６５を介してメモリを取得（Ｓ１２）すると共に、更新用メモリカード２６２に記憶されたｆｗｕファイル８０１から未処理のｆｗｕファイル８０１を選択（Ｓ３０１）する。続いて、ｆｗｕファイル８０１のヘッダ部分８１１を解析（Ｓ１０１）する。続いて、ｆｗｕファイル８０１として記憶された各モジュールプログラムに係る電子署名が正当であるか否かを判断（Ｓ１０２）する。正当でないと判断されたモジュールプログラムが存在する場合には、ＯＣＳ１６６を介してタッチパネル３１１にエラーモジュールが存在する旨を表示（Ｓ１０３）する。正当でないと判断されたモジュールプログラムが存在しない場合には、更新用メモリカード２６２内に未処理のｆｗｕファイル８０１が存在すれば（Ｓ３０２）Ｓ３０１に戻り、更新用メモリカード２６２内に未処理のｆｗｕファイル８０１が存在しなければ（Ｓ３０２）Ｓ１０４に進む。そのＳ１０４では、正当であると判断された各モジュールプログラムについて、ＯＣＳ１６６を介してタッチパネル３１１に更新対象モジュールとして表示（Ｓ１０４）する。
【０１１３】
ＯＵＳ１６９は、タッチパネル３１１のタッチ操作により更新対象モジュールが選択（Ｓ１０５）されると、更新対象のｆｗｕファイル８０１から未処理のｆｗｕファイル８０１を選択（Ｓ３０３）する。続いて、更新用メモリカード２６２からｆｗｕファイル８０１を取得してメモリに展開（Ｓ１３）する。続いて、ｆｗｕファイル８０１のヘッダ部分８１１を解析（Ｓ１０６）する。続いて、ｆｗｕファイル８０１として取得された各モジュールプログラムに係る電子署名が正当であるか否かを判断（Ｓ１０７）する。正当でないと判断されたモジュールプログラムが存在する場合には、ＯＣＳ１６６を介してタッチパネル３１１にエラーモジュールが存在する旨を表示（Ｓ１０８）する。正当でないと判断されたモジュールプログラムが存在しない場合には、更新対象のｆｗｕファイル８０１で未処理のｆｗｕファイル８０１が存在すれば（Ｓ３０４）Ｓ３０３に戻り、更新対象のｆｗｕファイル８０１で未処理のｆｗｕファイル８０１が存在しなければ（Ｓ３０４）Ｓ１４に進む。そのＳ１４では、正当であると判断された各モジュールプログラムについて、ｍｏｄファイル９０１として記憶されたモジュールプログラムを、ｆｗｕファイル８０１として取得されたそのモジュールプログラムに更新（Ｓ１４）する。
【０１１４】
図２１でも、図１８のバックアップ処理（Ｓ１１１）を実行するようにしてもよい。
【０１１５】
（フローチャートの詳細）
図１７や図１８やこれらの応用例のフローチャートの詳細について説明する。
【０１１６】
図２２は、モジュール更新（Ｓ１４）に係るフローチャートである。
【０１１７】
ＯＵＳ１６９は先ず、ヘッダ解析（Ｓ１０６）で取得したパス名に基づいて、ｍｏｄｕｌｅディレクトリ（図１５参照）内のｍｏｄファイル９０１を更新（Ｓ３０１）する。ＯＵＳ１６９は次に、ヘッダ解析（Ｓ１０６）で取得したパス名に基づいて、ｍｏｄｕｌｅディレクトリ（図１５参照）内のｍａｃファイル９０２を更新（Ｓ３０２）する。ＯＵＳ１６９はそして、Ｓ３０１とＳ３０２とを各ヘッダについて繰り返す（Ｓ３０３）。
【０１１８】
図２３は、バックアップ処理（Ｓ１１１）に係るフローチャートである。
【０１１９】
ＯＵＳ１６９は先ず、ｂａｃｋｕｐディレクトリ（図１５参照）内のバックアップファイルを削除（Ｓ４０１）する。ＯＵＳ１６９は次に、ヘッダ解析（Ｓ１０６）で取得したパス名に基づいて、ｍｏｄｕｌｅディレクトリ（図１５参照）内のｍｏｄファイル９０１をｂａｃｋｕｐディレクトリ（図１５参照）内にコピー（Ｓ４０２）する。ＯＵＳ１６９は次に、ヘッダ解析（Ｓ１０６）で取得したパス名に基づいて、ｍｏｄｕｌｅディレクトリ（図１５参照）内のｍａｃファイル９０２をｂａｃｋｕｐディレクトリ（図１５参照）内にコピー（Ｓ４０３）する。ＯＵＳ１６９はそして、Ｓ４０２とＳ４０３とを各ヘッダについて繰り返す（Ｓ４０４）。
【図面の簡単な説明】
【０１２０】
【図１】本発明の実施の形態の例である融合機を表す。
【図２】図１の融合機のハードウェアを表す。
【図３】図１の融合機の外観を表す。
【図４】オペレーションパネルを表す。
【図５】融合機起動部を表す。
【図６】メモリカード内のファイルツリーの例を表す。
【図７】マウント処理と起動処理に係るフローチャートである。
【図８】ｃｎｆファイルの電子署名チェックに係るフローチャートである。
【図９】ｍｏｄファイルの電子署名チェックに係るフローチャートである。
【図１０】ＳＤメモリカード用スロットとＳＤメモリカードに係るソフトウェアを表す。
【図１１】第１実施例について説明するための図である。
【図１２】更新用メモリカードに記憶されたデータのデータ構造を表す。
【図１３】更新用メモリカード内のファイル構成の例を表す。
【図１４】メモリカードに記憶されたデータのデータ構造を表す。
【図１５】メモリカード内のファイル構成の例を表す。
【図１６】ＨＤＤ内のファイル構成の例を表す。
【図１７】ＯＵＳにより実行される処理に係るフローチャートである。
【図１８】ＯＵＳにより実行される処理に係るフローチャートである。
【図１９】モジュールプログラムの電子署名チェックに係るフローチャートである。
【図２０】第２実施例について説明するための図である。
【図２１】図１７の応用例に相当するフローチャートである。
【図２２】モジュール更新に係るフローチャートである。
【図２３】バックアップ処理に係るフローチャートである。
【符号の説明】
【０１２１】
１０１  融合機
１１１  ハードウェア
１１２  ソフトウェア
１１３  融合機起動部
１２１  撮像部
１２２  印刷部
１２３  その他のハードウェア
１３１  アプリケーション
１３２  プラットフォーム
１３３  アプリケーションインタフェース
１３４  エンジンインタフェース
１４１  コピーアプリ
１４２  プリンタアプリ
１４３  スキャナアプリ
１４４  ファクシミリアプリ
１４５  ネットワークファイルアプリ
１５１  コントロールサービス
１５２  システムリソースマネージャ
１５３  ハンドラ
１６１  ネットワークコントロールサービス
１６２  ファクシミリコントロールサービス
１６３  デリバリコントロールサービス
１６４  エンジンコントロールサービス
１６５  メモリコントロールサービス
１６６  オペレーションパネルコントロールサービス
１６７  ユーザディレクトリコントロールサービス
１６８  システムコントロールサービス
１６９  オンデマンドアップデートサービス
１７１  ファクシミリコントロールユニットハンドラ
１７２  イメージメモリハンドラ
２０１  コントローラ
２０２  オペレーションパネル
２０３  ファクシミリコントロールユニット
２１１  ＣＰＵ
２１２  ＡＳＩＣ
２２１  ＮＢ
２２２  ＳＢ
２３１  ＭＥＭ−Ｐ
２３２  ＭＥＭ−Ｃ
２３３  ＨＤＤ
２４１  ＮＩＣ
２４２  ＵＳＢデバイス
２４３  ＩＥＥＥ１３９４デバイス
２４４  セントロニクスデバイス
２５１  メモリカード用スロット
２５２  更新用メモリカード用スロット
２６１  メモリカード
２６２  更新用メモリカード
３０１  原稿セット部
３０２  給紙部
３０３  排紙部
３１１  タッチパネル
３１２  数字ボタン
３１３  スタートボタン
３２１  ＡＤＦ
３２２  フラットベッド
３２３  フラットベッドカバー
５０１  メモリモニタ部
５０２  プログラム起動部
６０１  ＳＤメモリカード用スロット
６１１  ＳＤメモリカード
６２１  ＳＤメモリカードアクセスドライバ
６２２  ＳＤメモリカードステータスドライバ
６２３  起動処理用プログラム
６２４  ＳＤメモリカードチェックプログラム
８０１  ｆｗｕファイル
８１１  ヘッダ部分
８１２  データ部分
９０１  ｍｏｄファイル
９０２  ｍａｃファイル
９１１  データ
９１２  データ
【図１】
2004299389.tif 000003
【図２】
2004299389.tif 000004
【図３】
2004299389.tif 000005
【図４】
2004299389.tif 000006
【図５】
2004299389.tif 000007
【図６】
2004299389.tif 000008
【図７】
2004299389.tif 000009
【図８】
2004299389.tif 000010
【図９】
2004299389.tif 000011
【図１０】
2004299389.tif 000012
【図１１】
2004299389.tif 000013
【図１２】
2004299389.tif 000014
【図１３】
2004299389.tif 000015
【図１４】
2004299389.tif 000016
【図１５】
2004299389.tif 000017
【図１６】
2004299389.tif 000018
【図１７】
2004299389.tif 000019
【図１８】
2004299389.tif 000020
【図１９】
2004299389.tif 000021
【図２０】
2004299389.tif 000022
【図２１】
2004299389.tif 000023
【図２２】
2004299389.tif 000024
【図２３】
2004299389.tif 000025