JP2004299389A - 画像形成装置、プログラム更新方法、及び更新用記憶媒体 - Google Patents

画像形成装置、プログラム更新方法、及び更新用記憶媒体 Download PDF

Info

Publication number
JP2004299389A
JP2004299389A JP2004057678A JP2004057678A JP2004299389A JP 2004299389 A JP2004299389 A JP 2004299389A JP 2004057678 A JP2004057678 A JP 2004057678A JP 2004057678 A JP2004057678 A JP 2004057678A JP 2004299389 A JP2004299389 A JP 2004299389A
Authority
JP
Japan
Prior art keywords
program
storage medium
updating
electronic signature
update
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004057678A
Other languages
English (en)
Other versions
JP4409992B2 (ja
Inventor
Hisanori Kawaura
久典 川浦
Nobuto Inami
暢人 井波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004057678A priority Critical patent/JP4409992B2/ja
Priority to US10/801,684 priority patent/US7644288B2/en
Publication of JP2004299389A publication Critical patent/JP2004299389A/ja
Application granted granted Critical
Publication of JP4409992B2 publication Critical patent/JP4409992B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】 画像形成装置を機能させるプログラムを新たなプログラムに更新する場合に関して、その新たなプログラムの信頼性を向上させること。
【解決手段】 当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置であって、前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新手段を備えることを特徴とする画像形成装置。
【選択図】 図11

Description

本発明は、コピー、プリンタ、スキャナ、ファクシミリ、複合機、融合機等の画像形成装置、プログラム更新方法、及び更新用記憶媒体に関する。
近年、1台の機器でコピーとプリンタとスキャナとファクシミリとしての機能を実現した「複合機」や「融合機」が市販されるようになった。これらの複合機や融合機は、撮像部と印刷部と通信部等のハードウェアを備えると共に、コピーとプリンタとスキャナとファクシミリに対応する4種類のソフトウェアを備え、これらのソフトウェアが切り替わることにより、コピーやプリンタやスキャナやファクシミリとして機能する。コピーやプリンタとして機能する場合、画像を印刷用紙等に印刷することになり、スキャナやファクシミリとして機能する場合、画像をネットワーク等を介して他の機器に送信することになる。
複合機や融合機を機能させるためには、アプリケーションやプラットフォーム等の様々なプログラム(ファームウェアその他のソフトウェア)が必要となる。複合機や融合機を機能させるプログラムを新たなプログラムに更新する場合、その新たなプログラムの信頼性が問題となる。例えば、複合機や融合機を機能させるプログラムを新たなプログラムに更新するため、その新たなプログラムを汎用のメモリカードやネットワークを介して授受する場合、その新たなプログラムが途中で改変(改竄や文字化け等)される可能性があるからである。
したがって、本発明は、画像形成装置を機能させるプログラムを新たなプログラムに更新する場合に関して、その新たなプログラムの信頼性を向上させることを課題とする。
請求項1に記載の発明(画像形成装置)は、当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置であって、前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新手段を備える。
請求項2に記載の発明(画像形成装置)は、当該画像形成装置を機能させるプログラムが記憶された記憶媒体をセットするための記憶媒体セット手段と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置であって、前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新手段を備える。
請求項3に記載の発明(画像形成装置)は、当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムを受信する受信手段とを備える画像形成装置であって、前記受信手段により受信された前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記受信手段により受信された前記プログラムに更新するプログラム更新手段を備える。
請求項4に記載の発明(画像形成装置)は、当該画像形成装置を機能させるプログラムが記憶された記憶媒体をセットするための記憶媒体セット手段と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムを受信する受信手段とを備える画像形成装置であって、前記受信手段により受信された前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記受信手段により受信された前記プログラムに更新するプログラム更新手段を備える。
請求項5に記載の発明(画像形成装置)は、請求項1又は2に記載の発明(画像形成装置)に関して、前記プログラム更新手段は、前記記憶媒体に記憶された前記プログラムと、そのプログラムに係る電子署名とを、前記更新用記憶媒体から取得される前記プログラムと、そのプログラムに係る電子署名とに更新する。
請求項6に記載の発明(画像形成装置)は、請求項3又は4に記載の発明(画像形成装置)に関して、前記プログラム更新手段は、前記記憶媒体に記憶された前記プログラムと、そのプログラムに係る電子署名とを、前記受信手段により受信された前記プログラムと、そのプログラムに係る電子署名とに更新する。
請求項7に記載の発明(画像形成装置)は、請求項1又は2に記載の発明(画像形成装置)に関して、前記プログラム更新手段は、前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を、当該プログラムから作成したメッセージダイジェストと当該電子署名を復号化したメッセージダイジェストとの照合をもって判断する。
請求項8に記載の発明(画像形成装置)は、請求項3又は4に記載の発明(画像形成装置)に関して、前記プログラム更新手段は、前記受信手段により受信された前記プログラムに係る電子署名の正当性を、当該プログラムから作成したメッセージダイジェストと当該電子署名を復号化したメッセージダイジェストとの照合をもって判断する。
請求項9に記載の発明(画像形成装置)は、請求項1乃至8のいずれか1項に記載の発明(画像形成装置)に関して、前記記憶媒体に記憶された前記プログラムを、当該プログラムに係る電子署名の正当性と、当該プログラムに係る設定ファイルの電子署名の正当性とを条件に、当該記憶媒体に記憶された当該設定ファイルに従って起動するプログラム起動手段を備える。
請求項10に記載の発明(画像形成装置)は、請求項9に記載の発明(画像形成装置)に関して、前記プログラム起動手段は、前記記憶媒体に記憶された前記プログラムに係る電子署名の正当性を、当該プログラムから作成したメッセージダイジェストと当該電子署名を復号化したメッセージダイジェストとの照合をもって判断する。
請求項11に記載の発明(画像形成装置)は、請求項9に記載の発明(画像形成装置)に関して、前記プログラム起動手段は、前記記憶媒体に記憶された前記設定ファイルの電子署名の正当性を、当該設定ファイルから作成したメッセージダイジェストと当該電子署名を復号化したメッセージダイジェストとの照合をもって判断する。
請求項12に記載の発明(画像形成装置)は、請求項11に記載の発明(画像形成装置)に関して、前記記憶媒体に記憶された前記設定ファイルの電子署名は、当該設定ファイルと当該記憶媒体に固有なデータとから作成したメッセージダイジェストを暗号化したものである。
請求項13に記載の発明(画像形成装置)は、請求項12に記載の発明(画像形成装置)に関して、前記記憶媒体に固有な前記データは、前記記憶媒体のシリアルIDである。
請求項14に記載の発明(プログラム更新方法)は、当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置についてのプログラム更新方法であって、前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新段階を備える。
請求項15に記載の発明(プログラム更新方法)は、当該画像形成装置を機能させるプログラムが記憶された記憶媒体をセットするための記憶媒体セット手段と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置についてのプログラム更新方法であって、前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新段階を備える。
請求項16に記載の発明(プログラム更新方法)は、当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムを受信する受信手段とを備える画像形成装置についてのプログラム更新方法であって、前記受信手段により受信された前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記受信手段により受信された前記プログラムに更新するプログラム更新段階を備える。
請求項17に記載の発明(プログラム更新方法)は、当該画像形成装置を機能させるプログラムが記憶された記憶媒体をセットするための記憶媒体セット手段と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムを受信する受信手段とを備える画像形成装置についてのプログラム更新方法であって、前記受信手段により受信された前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記受信手段により受信された前記プログラムに更新するプログラム更新段階を備える。
請求項18に記載の発明(プログラム更新方法)は、請求項14又は15に記載の発明(プログラム更新方法)に関して、前記プログラム更新段階は、前記記憶媒体に記憶された前記プログラムと、そのプログラムに係る電子署名とを、前記更新用記憶媒体から取得される前記プログラムと、そのプログラムに係る電子署名とに更新する。
請求項19に記載の発明(プログラム更新方法)は、請求項16又は17に記載の発明(プログラム更新方法)に関して、前記プログラム更新段階は、前記記憶媒体に記憶された前記プログラムと、そのプログラムに係る電子署名とを、前記受信手段により受信された前記プログラムと、そのプログラムに係る電子署名とに更新する。
請求項20に記載の発明(プログラム更新方法)は、請求項14乃至19のいずれか1項に記載の発明(プログラム更新方法)に関して、前記記憶媒体に記憶された前記プログラムを、当該プログラムに係る電子署名の正当性と、当該プログラムに係る設定ファイルの電子署名の正当性とを条件に、当該記憶媒体に記憶された当該設定ファイルに従って起動するプログラム起動段階を備える。
請求項21に記載の発明(更新用記憶媒体)は、請求項1又は2に記載の更新用記憶媒体であって、請求項1又は2に記載の記憶媒体に記憶された前記プログラムを更新するためのプログラムと、そのプログラムに係る電子署名とが記憶された更新用記憶媒体である。
請求項1又は2に記載の発明(画像形成装置)は、画像形成装置を機能させるプログラムを新たなプログラムに更新するため、その新たなプログラムを更新用記憶媒体を介して授受する場合に関して、その新たなプログラムの信頼性を向上させることを可能とする。
請求項3又は4に記載の発明(画像形成装置)は、画像形成装置を機能させるプログラムを新たなプログラムに更新するため、その新たなプログラムを通信により授受する場合に関して、その新たなプログラムの信頼性を向上させることを可能とする。
請求項14又は15に記載の発明(プログラム更新方法)は、画像形成装置を機能させるプログラムを新たなプログラムに更新するため、その新たなプログラムを更新用記憶媒体を介して授受する場合に関して、その新たなプログラムの信頼性を向上させることを可能とする。
請求項16又は17に記載の発明(プログラム更新方法)は、画像形成装置を機能させるプログラムを新たなプログラムに更新するため、その新たなプログラムを通信により授受する場合に関して、その新たなプログラムの信頼性を向上させることを可能とする。
請求項21に記載の発明(更新用記憶媒体)は、画像形成装置を機能させるプログラムを新たなプログラムに更新するため、その新たなプログラムを更新用記憶媒体を介して授受する場合に関して、その新たなプログラムの信頼性を向上させることを可能とする。
このように、本発明は、画像形成装置を機能させるプログラムを新たなプログラムに更新する場合に関して、その新たなプログラムの信頼性を向上させることを可能とする。
本発明の実施の形態について説明する。
図1は、本発明の実施の形態の例である融合機101を表す。図1の融合機101は、種々のハードウェア111と、種々のソフトウェア112と、融合機起動部113により構成される。これらにより、図1の融合機101は、コピーやプリンタやスキャナやファクシミリとして機能する。
ハードウェア111としては、撮像部121と、印刷部122と、その他のハードウェア123が存在する。
撮像部121は、原稿から画像(画像データ)を取得するためのハードウェアであり、コピーやスキャナやファクシミリとして機能する際に使用される。撮像部121は、白黒画像用の物でもカラー画像用の物でもよい。撮影部121は、原稿に関する機構として、原稿セット部等を備える。
印刷部122は、画像(画像データ)を印刷用紙等に印刷するためのハードウェアであり、コピーやプリンタやファクシミリとして機能する際に使用される。印刷部122は、白黒画像用の物でもカラー画像用の物でもよい。印刷部122は、ここでは電子写真方式を採用しており、感光体、帯電機、露光機、現像機、転写機、定着機等を備える。印刷部122は、印刷用紙等に関する機構として、給紙部、排紙部、印刷用紙搬送機構等を備える。
その他のハードウェア123に関しては、図2において説明する。
ソフトウェア112としては、種々のアプリケーション131と、プラットフォーム132が存在する。これらは、UNIX(登録商標)等のOS(オペレーティングシステム)によりプロセス単位で並列的に実行される。
アプリケーション131は、コピーやプリンタやスキャナやファクシミリ等の各機能に固有の情報処理を実行するためのソフトウェアである。アプリケーション131としては、コピー用のアプリケーションであるコピーアプリ141と、プリンタ用のアプリケーションであるプリンタアプリ142と、スキャナ用のアプリケーションであるスキャナアプリ143と、ファクシミリ用のアプリケーションであるファクシミリアプリ144と、ネットワークファイル用のアプリケーションであるネットワークファイルアプリ145が存在する。ネットワークファイルアプリ145は、HTML文書等を配信するためのWebサーバソフト、HTML文書等を閲覧するためのWebブラウザ等により構成される。
プラットフォーム132は、アプリケーション131からハードウェア111への処理要求に関する情報処理を実行するためのソフトウェアである。アプリケーション131からの処理要求の受信には、予め定義されている関数により処理要求を受信するアプリケーションインタフェース(API)133を利用して、ハードウェア111への処理要求の送信には、予め定義されている関数により処理要求を送信するエンジンインタフェース(ENI)134を利用する。プラットフォーム132は、種々のコントロールサービス151と、システムリソースマネージャ152と、種々のハンドラ153により構成される。
コントロールサービス151は、アプリケーション131からハードウェア111への処理要求を解釈して、解釈結果に応じてハードウェア111の獲得要求を発生する。コントロールサービス151としては、ネットワークコントロールサービス(NCS)161と、ファクシミリコントロールサービス(FCS)162と、デリバリコントロールサービス(DCS)163と、エンジンコントロールサービス(ECS)164と、メモリコントロールサービス(MCS)165と、オペレーションパネルコントロールサービス(OCS)166と、ユーザディレクトリコントロールサービス(UCS)167と、システムコントロールサービス(SCS)168と、オンデマンドアップデートサービス(OUS)169が存在する。
NCS161のプロセスは、ネットワーク等を介してデータ通信を行うためのAPIを提供する。FCS162のプロセスは、ファクシミリとして画像データ通信・画像データ取得・画像データ印刷等を行うためのAPIを提供する。DCS163のプロセスは、融合機101に蓄積されている文書データの配信に関する制御を行う。ECS164のプロセスは、撮像部121や印刷部122等のエンジン部に関する制御を行う。MCS165のプロセスは、画像データ記憶・画像データ処理等のメモリやハードディスクドライブに関する制御を行う。OCS166のプロセスは、オペレーションパネルに関する制御を行う。UCS167のプロセスは、ユーザ情報の管理に関する制御を行う。SCS168のプロセスは、システムの管理に関する制御を行う。OUS169のプロセスは、プログラムの更新に関する制御を行う。
システムリソースマネージャ(SRM)152は、ハードウェア111の獲得要求を調停して、調停結果に応じてハードウェア111への処理要求を実現するための制御を行う。具体的に言うと、SRM152のプロセスは、獲得要求に係るハードウェア111が利用可能か否か(他の獲得要求と競合しないか否か)を判定して、利用可能である場合にはその旨をコントロールサービス151に通知する。さらには、獲得要求に係るハードウェア111の利用スケジュールを作成して、作成結果に応じてハードウェア111への処理要求を実現するための制御を行う。
ハンドラ153は、上記の調停結果に応じてハードウェア111を管理する。ハンドラ153としては、ファクシミリコントロールユニットハンドラ(FCUH)171と、イメージメモリハンドラ(IMH)172が存在する。FCUH171は、ファクシミリコントロールユニットを管理する。IMH172は、メモリを各プロセスに割り振り、各プロセスが割り振られたメモリを管理する。
融合機起動部113は、融合機101の電源投入時に最初に実行される。これにより、UNIX(登録商標)等のOSが起動されて、アプリケーション131とプラットフォーム132が起動される。これらのプログラムは、メモリカード等に蓄積されており、メモリカード等から再生されて、メモリに起動されることになる。
図2は、図1の融合機101のハードウェア111を表す。ハードウェア111としては、コントローラ201と、オペレーションパネル202と、ファクシミリコントロールユニット(FCU)203と、撮像部121と、印刷部122が存在する。図2における撮像部121と印刷部122を除く構成要素が、図1における「その他のハードウェア123」に該当する。
コントローラ201は、CPU211と、ASIC212と、NB(ノースブリッジ)221と、SB(サウスブリッジ)222と、MEM−P(システムメモリ)231と、MEM−C(ローカルメモリ)232と、HDD(ハードディスクドライブ)233と、NIC(ネットワークインタフェースコントローラ)241と、USBデバイス242と、IEEE1394デバイス243と、セントロニクスデバイス244と、メモリカード用スロット251と、更新用メモリカード用スロット252により構成される。
CPU211は、種々の情報処理を実行するためのハードウェアである。例えば、UNIX(登録商標)等のOSにより、アプリケーション131とプラットフォーム132をプロセス単位で並列的に実行する。ASIC212は、画像データ処理用のICである。NB221は、CPU211とASIC212を接続するためのブリッジである。SB222は、NB221と周辺機器等を接続するためのブリッジである。ASIC212とNB221は、AGP(Accelerated Graphics Port)を介して接続されている。
MEM−P231は、NB221に接続されて使用されるメモリである。MEM−C232は、ASIC212に接続されて使用されるメモリである。HDD233は、ASIC212に接続されて使用されるストレージであり、画像データ蓄積・文書データ蓄積・プログラム蓄積・フォントデータ蓄積・フォームデータ蓄積等を行うために使用される。
NIC241は、ネットワーク等を介してMACアドレス等を使用したデータ通信を行うためのコントローラである。USBデバイス242は、USB規格に準拠したシリアルポートを提供するためのデバイスである。IEEE1394デバイス243は、IEEE1394規格に準拠したシリアルポートを提供するためのデバイスである。セントロニクスデバイス244は、セントロニクス仕様のパラレルポートを提供するためのデバイスである。NIC241と、USBデバイス242と、IEEE1394デバイス243と、セントロニクスデバイス244は、PCIバスによりNB221とSB222に接続されている。
メモリカード用スロット251は、SB222に接続されて使用されるスロットであり、メモリカード261をセット(挿入)するためのスロットである。更新用メモリカード用スロット252は、SB222に接続されて使用されるスロットであり、更新用メモリカード262をセット(挿入)するためのスロットである。
オペレーションパネル202は、オペレータが融合機101に入力を行うためのハードウェア(操作部)であると共に、融合機101がオペレータに出力を行うためのハードウェア(表示部)である。オペレーションパネル202は、ASIC212に接続されている。FCU203と、撮像部121と、印刷部122は、PCIバスによりASIC212に接続されている。
図3は、図1の融合機101の外観を表す。図3には、撮像部121の位置、印刷部122の位置、オペレーションパネル202の位置が図示されている。図3にはさらに、原稿をセットするための原稿セット部301、印刷用紙の給紙先となる給紙部302、印刷用紙の排紙先となる排紙部303が図示されている。原稿セット部301は、撮像部121の構成要素であり、給紙部302と排紙部303は、印刷部122の構成要素である。
オペレーションパネル202は、図4のように、タッチパネル311と、数字ボタン312と、スタートボタン313により構成される。
タッチパネル311は、オペレータが融合機101にタッチ操作で入力を行うためのハードウェア(タッチ操作部)であると共に、融合機101がオペレータに画面表示で出力を行うためのハードウェア(画面表示部)である。数字ボタン312は、オペレータが融合機101にボタン操作で数字入力を行うためのハードウェアである。スタートボタン313は、オペレータが融合機101にボタン操作でスタート入力を行うためのハードウェアである。
融合機101は、原稿セット部301に原稿がセットされている場合、スタートボタン313が押されることで、撮像部121によりその原稿から画像を取得する。融合機101は、コピーとして機能する場合、印刷部122によりその画像を印刷用紙等に印刷することになり、スキャナやファクシミリとして機能する場合、NIC241等によりその画像をネットワーク等を介して他の機器に送信することになる。印刷用紙の給紙先は給紙部302であり、印刷用紙の排紙先は排紙部303である。
原稿セット部301は、ADF(自動原稿搬送装置)321と、フラットベッド322と、フラットベッドカバー323により構成される。
ADF321は、フラットベッドカバー323の上面に設置されている。ADF321には複数枚の原稿を重ねてセットすることができる。融合機101は、ADF321に原稿がセットされている場合、スタートボタン313が押されることで、撮像部121によりその原稿から画像を取得する。具体的に言うと、スタートボタン313が押されると、ADF321が、図3の矢印のような経路で複数枚の原稿を1枚ずつ搬送して、撮像部121が、図3の矢印のような経路で1枚ずつ搬送される原稿から画像を取得する。
フラットベッド322は、フラットベッドカバー323を開くと現れる。フラットベッド322は、ガラスやプラスチックのような透明部材により形成されている。フラットベッド322には原稿を下向きにセットする。融合機101は、フラットベッド322に原稿がセットされている場合、スタートボタン313が押されることで、撮像部121によりその原稿から画像を取得する。具体的に言うと、スタートボタン313が押されると、撮像部121が、フラットベッド322を介して対面する原稿から画像を取得する。
給紙部302は、印刷用紙の給紙先となる4箇所の給紙トレイと1箇所の手差しトレイにより構成される。排紙部303は、印刷用紙の排紙先となる1箇所の排紙トレイにより構成される。
(融合機起動部)
図1において登場した融合機起動部113について説明する。
融合機起動部113は、図5のように、メモリモニタ部501と、プログラム起動部502により構成される。
図1の融合機101の電源が投入されると、メモリモニタ部501を構成するBIOSとブートローダが起動されて、これにより、UNIX(登録商標)等のOSが起動される。続いて、プログラム起動部502を構成する起動処理用プログラムが起動されて、これにより、アプリケーション131やプラットフォーム132が適宜起動される。なお、UNIX(登録商標)が起動される場合には、UNIX(登録商標)のカーネルが起動されて、ルートファイルシステムが展開されて、アプリケーション131やプラットフォーム132に係るファイルシステムがルートファイルシステムにマウントされることになる。
アプリケーション131やプラットフォーム132に係るマウント処理や起動処理の例を挙げておく。プログラム起動部502は、UNIX(登録商標)のルートディレクトリ内のetc内のマスタ設定ファイル「init.conf」を読み込んで、マスタ設定ファイル内に記述されたマウントコマンドに従ってマウントや起動を実行する。プログラム起動部502はさらに、マウントされたファイルシステム内に、1)設定ファイル「init.conf」や「init.cnf」が存在する場合、設定ファイルを読み込んで、設定ファイル内に記述されたマウントコマンドに従ってマウントや起動を実行して、2)設定ディレクトリ「init.d」が存在する場合、設定ディレクトリ内の設定ファイル「***.conf」や「***.cnf」を読み込んで、設定ファイル内に記述されたマウントコマンドに従ってマウントや起動を実行する。なお、設定ファイルの電子署名を書き込んだ認証ファイル「***.lic」を用意しておき、プログラム起動部502が、設定ファイル内に記述されたマウントコマンドに従ってマウントや起動を実行するのに先立ち、その設定ファイルの電子署名チェックを実行するようにしてもよい。
電子署名チェックについてメモリカード261を具体例にして説明する。
メモリカード261には、図6の例のように、アプリケーション131やプラットフォーム132等のプログラムを、拡張子をmodとするmodファイル「***.mod」として記憶させておくと共に、modファイルの電子署名を、拡張子をmacとするmacファイル「***.mac」として記憶させておく。
メモリカード261にはさらに、図6の例のように、設定ファイル(融合機起動部の欄参照)を、拡張子をcnfとするcnfファイル「***.cnf」として記憶させておくと共に、設定ファイルの電子署名を書き込んだ認証ファイル(融合機起動部の欄参照)を、拡張子をlicとするlicファイル「***.lic」として記憶させておく。
各ファイルの電子署名はここでは、MD5やSHA1等のハッシュ関数により各ファイルから作成したメッセージダイジェストを、秘密鍵により暗号化したものである。例えば、modファイルやcnfファイルの電子署名は、modファイルやcnfファイルから作成したメッセージダイジェストを、秘密鍵により暗号化したものである。
各ファイルの電子署名チェックはここでは、各ファイルからMD5やSHA1等のハッシュ関数により作成したメッセージダイジェストと、各ファイルの電子署名を公開鍵により復号化したメッセージダイジェストとの照合をもって実行可能である。例えば、modファイルやcnfファイルの電子署名の正当性は、modファイルやcnfファイルから作成したメッセージダイジェストと、macファイルやlicファイルに書き込まれた電子署名を公開鍵により復号化したメッセージダイジェストとの照合をもって判断可能である。各ファイルの電子署名チェックは例えば、プログラム起動部502によるマウント処理や起動処理の一環として、プログラム起動部502が実行するようにする。
なお、メモリカード261としてSDメモリカードを採用する場合は、cnfファイルの電子署名は、cnfファイルとSDシリアルIDとから作成したメッセージダイジェストを、秘密鍵により暗号化したものであってもよい。SDメモリカードのSDシリアルIDは各SDメモリカードに固有なIDなので、各SDメモリカードに記憶させておくlicファイルが各SDメモリカードに固有なファイルになり、カードのコピー防止に役立つ。この場合、cnfファイルの電子署名の正当性は、cnfファイルとSDシリアルIDとから作成したメッセージダイジェストと、licファイルに書き込まれた電子署名を公開鍵により復号化したメッセージダイジェストとの照合をもって判断可能である。SDメモリカードのSDシリアルIDは各SDメモリカードに記憶されている。これを前提として、メモリカード261内のファイルを対象とするマウント処理と起動処理について説明する。
図7は、メモリカード261内のファイルを対象とするマウント処理と起動処理に係るフローチャートである。
プログラム起動部502は、メモリカード用スロット251に挿入されたメモリカード261がマウントされる(S31)と、メモリカード261内の各cnfファイルの電子署名チェックを実行(S32)すると共に、メモリカード261内の各modファイルの電子署名チェックを実行(S33)する。プログラム起動部502はそして、modファイル(アプリケーション131やプラットフォーム132等のプログラム)を、当該modファイルに係るcnfファイルの電子署名の正当性と、当該modファイルの電子署名の正当性とを条件に、当該cnfファイル内に記述された当該modファイルに係るマウントコマンドに従ってマウント(S34)して起動(S35)するのである。
具体的に再説明する。プログラム起動部502は先ず、メモリカード261内にcnfファイルが存在したら、そのcnfファイルの電子署名チェックを実行(S32)する。例えば、メモリカード261内にcopy.cnfが存在したらcopy.cnfの電子署名チェックを実行する、といった具合である。そのcnfファイルの電子署名の正当性を条件にS33に進む。プログラム起動部502は次に、そのcnfファイル内にmodファイルに係るマウントコマンドが存在したら、そのmodファイルの電子署名チェックを実行(S33)する。例えば、copy.cnf内にcopy.modに係るマウントコマンド「mount gzromfs copy.mod /arch/copy」が存在したらcopy.modの電子署名チェックを実行する、といった具合である。そのmodファイルの電子署名の正当性を条件にS34に進む。プログラム起動部502はそして、そのmodファイル(アプリケーション131やプラットフォーム132等のプログラム)を、cnfファイル内に記述されたそのmodファイルに係るマウントコマンドに従ってマウント(S34)して起動(S35)するのである。
このようにして、メモリカード261内のmodファイル(アプリケーション131やプラットフォーム132等のプログラム)が、メモリカード261内のcnfファイル内に記述されたマウントコマンドに従ってマウント(S34)されて起動(S35)されるのである。
図8は、メモリカード261内のcnfファイルの電子署名チェック(S32)に係るフローチャートである。プログラム起動部502は先ず、メモリカード261(SDメモリカード)から当該メモリカード261のシリアルID(SDシリアルID)を取得(S41)する。プログラム起動部502は次に、MDaを作成(S42)する。MDaは、cnfファイルと上記のシリアルIDとから作成したメッセージダイジェストである。プログラム起動部502は次に、MDbを作成(S43)する。MDbは、licファイルに書き込まれた電子署名(cnfファイルと上記のシリアルIDとから作成したメッセージダイジェストを、秘密鍵により暗号化したもの)を公開鍵により復号化したメッセージダイジェストである。プログラム起動部502はそして、cnfファイルの電子署名の正当性をMDaとMDbとの照合をもって判断(S44)する。MDaとMDbとが一致すればcnfファイルの電子署名は正当であると判断(S45)され、MDaとMDbとが一致しなければcnfファイルの電子署名は正当でないと判断(S46)される。
図9は、メモリカード261内のmodファイルの電子署名チェック(S33)に係るフローチャートである。プログラム起動部502は先ず、MDaを作成(S51)する。MDaは、modファイルから作成したメッセージダイジェストである。プログラム起動部502は次に、MDbを作成(S52)する。MDbは、macファイルに書き込まれた電子署名(modファイルから作成したメッセージダイジェストを秘密鍵により暗号化したもの)を公開鍵により復号化したメッセージダイジェストである。プログラム起動部502はそして、modファイルの電子署名の正当性をMDaとMDbとの照合をもって判断(S53)する。MDaとMDbとが一致すればmodファイルの電子署名は正当であると判断(S54)され、MDaとMDbとが一致しなければmodファイルの電子署名は正当でないと判断(S55)される。
(メモリカードと更新用メモリカード)
図2において登場したメモリカード用スロット251、更新用メモリカード用スロット252、メモリカード261、更新用メモリカード262について説明する。
メモリカード用スロット251は、アプリケーション131やプラットフォーム132等のプログラムが記憶されたメモリカード261をセット(挿入)するためのスロットである。図1の融合機101においては、アプリケーション131やプラットフォーム132は、メモリカード用スロット251にセットされたメモリカード261等に蓄積されており、メモリカード用スロット251にセットされたメモリカード261等から再生されて、MEM−P231やMEM−C232に起動される。
更新用メモリカード用スロット252は、アプリケーション131やプラットフォーム132等のプログラムを更新するための新たなプログラムが記憶された更新用メモリカード262をセット(挿入)するためのスロットである。図1の融合機101においては、メモリカード用スロット251にセットされたメモリカード261に記憶されたプログラムを、更新用メモリカード用スロット252にセットされた更新用メモリカード262から取得されるプログラムに更新することができる。
メモリカード261と更新用メモリカード262としては、フラッシュメモリカードの一種であるSD(Secure Digital)メモリカードを採用することにする。SDメモリカードを採用することで、例えば、大容量のメモリを安価で利用できるというメリットを享受できる。なお、メモリカード用スロット251と更新用メモリカード用スロット252としては、SDメモリカード用スロットが採用される。
図1の融合機101には、図10のように、SDメモリカード用スロット601とSDメモリカード611に係るソフトウェアとして、SDメモリカードアクセスドライバ(SDaccess)621と、SDメモリカードステータスドライバ(SDstates)622と、起動処理用プログラム623と、SDメモリカードチェックプログラム(SDcheck)624が存在する。
SDaccess621は、SDメモリカード611の挿入・抜出を検知する等、SDメモリカード611に対するアクセス制御を実行するドライバである。SDstates622は、SDメモリカード611の挿入・抜出・マウント・アンマウントに関する情報を管理するドライバである。起動処理用プログラム623は、図5のプログラム起動部502を構成するプログラムである。SDcheck624は、SDメモリカード611のマウント・アンマウントを実行するプログラムである。
SDメモリカード用スロット601にSDメモリカード611が挿入された場合、SDaccess621は、SDメモリカード611が挿入された事を検知(S1)すると共に、SDstates622にその事を通知(S2)する。これに応じて、SDstates622は、SDメモリカード611が挿入された旨の情報を管理することにすると共に、起動処理用プログラム623にその旨を通知(S3)する。これに応じて、起動処理用プログラム623は、SDメモリカード611のマウントを実行させるために、SDcheck624を起動(S4)させる。これに応じて、SDcheck624は、SDメモリカード611のマウントを実行(S5)すると共に、SDstates622にその事を通知(S6)する。これに応じて、SDstates622は、SDメモリカード611がマウントされた旨の情報を管理することにすると共に、起動処理用プログラム623等にその旨を通知(S7)する。
SDメモリカード用スロット601からSDメモリカード611が抜き出された場合、SDaccess621は、SDメモリカード611が抜き出された事を検知(S1)すると共に、SDstates622にその事を通知(S2)する。これに応じて、SDstates622は、SDメモリカード611が抜き出された旨の情報を管理することにすると共に、起動処理用プログラム623にその旨を通知(S3)する。これに応じて、起動処理用プログラム623は、SDメモリカード611のアンマウントを実行させるために、SDcheck624を起動(S4)させる。これに応じて、SDcheck624は、SDメモリカード611のアンマウントを実行(S5)すると共に、SDstates622にその事を通知(S6)する。これに応じて、SDstates622は、SDメモリカード611がアンマウントされた旨の情報を管理することにすると共に、起動処理用プログラム623等にその旨を通知(S7)する。
なお、SDメモリカードを採用することで、いわゆる活線挿抜が可能になるというメリットを享受できる。すなわち、SDメモリカード用スロット601にSDメモリカード611を挿入する操作と、SDメモリカード用スロット601からSDメモリカード611を抜き出す操作が、融合機101の起動後に実行可能になる。
(第1実施例)
以上の説明を踏まえて、図11により、図1の融合機101に係る第1実施例について説明する。
更新用メモリカード262には、図12のように、アプリケーション131やプラットフォーム132等のプログラムを更新するための新たなプログラムを、拡張子をfwuとするfwuファイル801として記憶させておく。
fwuファイル801は、ヘッダ部分811と、データ部分812により構成される。ヘッダ部分811は、ヘッダA1、ヘッダA2、ヘッダB1、ヘッダB2等により構成されて、データ部分812は、データA1、データA2、データB1、データB2等により構成される。ヘッダA1、ヘッダA2、ヘッダB1、ヘッダB2等がそれぞれ、データA1、データA2、データB1、データB2等のヘッダに相当する。
データA1やデータB1は、モジュールプログラムに相当するデータである。モジュールプログラムは、アプリケーション131やプラットフォーム132等におけるコピーアプリ141やNCS161等(モジュール)のプログラム(モジュールプログラム)を更新するための新たなプログラムである。すなわち、アプリケーション131やプラットフォーム132等のプログラムをモジュールごとに更新するための新たなプログラムである。なお、モジュールプログラムは、バイナリデータ化して記憶させておくものとする。
データA2やデータB2は、モジュールプログラムに係る電子署名に相当するデータである。電子署名はここでは、MD5やSHA1等のハッシュ関数によりモジュールプログラムから作成したメッセージダイジェストを、秘密鍵により暗号化したものである。データA2は、データA1に係る電子署名に相当して、データB2は、データB1に係る電子署名に相当する。
ヘッダA1やヘッダA2やヘッダB1やヘッダB2はそれぞれ、モジュールの種類を表すモジュールIDと、モジュールプログラムであるか電子署名であるかを表すフラグと、モジュールプログラムや電子署名を各機種のどのディレクトリにインストールするかを表す機種名とパス名により構成される。
更新用メモリカード262内のファイル構成の例を図13に示した。図13の例では、更新用メモリカード262内に、fwuファイル「update_jan_2004.fwu」「update_feb_2004.fwu」「update_mar_2004.fwu」が記憶されている。
メモリカード261には、図14のように、アプリケーション131やプラットフォーム132等のプログラムを、拡張子をmodとするmodファイル901として記憶させておくと共に、アプリケーション131やプラットフォーム132等のプログラムに係る電子署名を、拡張子をmacとするmacファイル902として記憶させておく。
modファイル901は、データ911により構成される。データ911は、データA1やデータB1と同様に、モジュールプログラムに相当するデータである。
macファイル902は、データ912により構成される。データ912は、データA2やデータB2と同様に、モジュールプログラムに係る電子署名に相当するデータである。
メモリカード261内のファイル構成の例を図15に示した。図15の例では、メモリカード262内に、modファイル「copy.mod」「printer.mod」「network.mod」等と、macファイル「copy.mac」「printer.mac」「network.mac」等と、cnfファイル「copy.cnf」「printer.cnf」「network.cnf」等と、licファイル「copy.cnf」「printer.lic」「network.lic」等とが記憶されている。
融合機101の起動後に更新用メモリカード用スロット252に更新用メモリカード262が挿入された場合、SDaccess621とSDstates622と起動処理用プログラム623とSDcheck624によりS1からS7までの処理が実行されると共に、更新用メモリカード262が挿入されてマウントされた旨が、SDstates622からSCS168を構成するオンデマンドアップデートサービス(OUS)169に通知(S11)される。これに応じて、OUS169は、MCS165を介してメモリを取得(S12)すると共に、更新用メモリカード用スロット252に挿入された更新用メモリカード262からfwuファイル801を取得してメモリに展開(S13)する。
OUS169はそして、fwuファイル801として取得された各モジュールプログラムに係る電子署名の正当性を条件に、modファイル901として記憶された各モジュールプログラムを、fwuファイル801として取得された各モジュールプログラムに更新(S14)する。あるモジュールプログラムに係る電子署名が正当であるか否かは、そのモジュールプログラムからMD5やSHA1等のハッシュ関数により作成したメッセージダイジェストと、そのモジュールプログラムに係る電子署名を公開鍵により復号化したメッセージダイジェストとが、一致するか否かにより判断する。そのモジュールプログラムが途中で改変(改竄や文字化け等)された場合、メッセージダイジェストが一致しないため、そのモジュールプログラムに係る電子署名が正当でないと判断されることになる。このようにして、fwuファイル801として取得される各モジュールプログラムの信頼性が向上されることになる。
OUS169はさらに、modファイル901として記憶された各モジュールプログラムを、fwuファイル801として取得された各モジュールプログラムに更新すると共に、macファイル902として記憶された各モジュールプログラムに係る電子署名を、fwuファイル801として取得された各モジュールプログラムに係る電子署名に更新する。すなわち、モジュールプログラムを更新すると共に、そのモジュールプログラムに係る電子署名を更新するのである。これにより、各モジュールプログラムに係る電子署名が正当であるか否かを、更新後にも判断することが可能になり、各モジュールプログラムの信頼性がさらに向上されることになる。
ところで、更新用メモリカード262としてSDメモリカードを採用したことで、更新用メモリカード用スロット252に更新用メモリカード262を挿入する操作は、融合機101の起動後に実行可能になっている。融合機101の起動後に更新用メモリカード用スロット252に更新用メモリカード262が挿入された場合、更新処理が自動的に開始されて、S1からS7までの処理とS11からS14までの処理が実行されるのである。すなわち、更新用メモリカード262としてSDメモリカードを採用したことで、オンデマンド更新が実現されている。
なお、ここでは、更新用メモリカード262から取得されるプログラムに係る電子署名の正当性を条件に、メモリカード261に記憶されたプログラムを、更新用メモリカード262から取得されるプログラムに更新することにしたが、同様にして、更新用メモリカード262から取得されるプログラムに係る電子署名の正当性を条件に、HDD233に記憶されたプログラムを、更新用メモリカード262から取得されるプログラムに更新することにしてもよい。
HDD233内のファイル構成の例を図16に示した。図16の例では、HDD233内に、modファイル「copy.mod」「printer.mod」「network.mod」等と、macファイル「copy.mac」「printer.mac」「network.mac」等と、cnfファイル「copy.cnf」「printer.cnf」「network.cnf」等とが記憶されている。
ここで、図17により、OUS169により実行される処理の詳細について説明する。
OUS169は、更新用メモリカード262が挿入されてマウントされた旨を通知(S11)されると、MCS165を介してメモリを取得(S12)すると共に、更新用メモリカード262に記憶されたfwuファイル801のヘッダ部分811を解析(S101)する。続いて、fwuファイル801として記憶された各モジュールプログラムに係る電子署名が正当であるか否かを判断(S102)する。正当でないと判断されたモジュールプログラムについては、OCS166を介してタッチパネル311にエラーモジュールとして表示(S103)して、正当であると判断されたモジュールプログラムについては、OCS166を介してタッチパネル311に更新対象モジュールとして表示(S104)する。
OUS169は、タッチパネル311のタッチ操作により更新対象モジュールが選択(S105)されると、更新用メモリカード262からfwuファイル801を取得してメモリに展開(S13)すると共に、更新用メモリカード262から取得されたfwuファイル801のヘッダ部分811を解析(S106)する。続いて、fwuファイル801として取得された各モジュールプログラムに係る電子署名が正当であるか否かを判断(S107)する。正当でないと判断されたモジュールプログラムについては、OCS166を介してタッチパネル311にエラーモジュールとして表示(S108)して、正当であると判断されたモジュールプログラムについては、modファイル901として記憶されたモジュールプログラムを、fwuファイル801として取得されたそのモジュールプログラムに更新(S14)する。
なお、図18のように、fwuファイル801として取得された各モジュールプログラムに係る電子署名が正当であるか否かを判断(S107)する前に、modファイル901として記憶された各モジュールプログラムのバックアップをとっておく(S111)ようにしてもよい。すなわち、modファイル901として記憶されたモジュールプログラムを、そのモジュールプログラムのバックアップをとってから、fwuファイル801として取得されたモジュールプログラムに更新(S14)することで、更新処理の失敗に備えるのである。
図19は、各モジュールプログラムの電子署名チェック(S102,S107)に係るフローチャートである。OUS169は先ず、MDaを作成(S61)する。MDaは、モジュールプログラムから作成したメッセージダイジェストである。OUS169は次に、MDbを作成(S62)する。MDbは、モジュールプログラムに係る電子署名(モジュールプログラムから作成したメッセージダイジェストを、秘密鍵により暗号化したもの)を公開鍵により復号化したメッセージダイジェストである。OUS169はそして、モジュールプログラムの電子署名の正当性を、MDaとMDbとの照合をもって判断(S63)する。MDaとMDbとが一致すればモジュールプログラムに係る電子署名は正当であると判断(S64)され、MDaとMDbとが一致しなければモジュールプログラムに係る電子署名は正当でないと判断(S65)される。
(第2実施例)
以上の説明を踏まえて、図20により、図1の融合機101に係る第2実施例について説明する。第2実施例は、第1実施例の変形実施例である。
融合機101の起動後にNIC241等により図12のようなfwuファイル801がネットワーク等を介して他の機器(例えば、融合機101のドライバがインストールされたパソコン)から受信された場合、NCS161は、それがfwuファイル801である事を判別(S21)すると、SCS168を構成するオンデマンドアップデートサービス(OUS)169にそのfwuファイル801を提供(S22)する。これに応じて、OUS169は、MCS165を介してメモリを取得して、fwuファイル801をメモリに展開(S23)する。
OUS169はそして、fwuファイル801として提供された各モジュールプログラムに係る電子署名の正当性を条件に、modファイル901として記憶された各モジュールプログラムを、fwuファイル801として提供された各モジュールプログラムに更新(S24)する。
OUS169はさらに、modファイル901として記憶された各モジュールプログラムを、fwuファイル801として提供された各モジュールプログラムに更新すると共に、macファイル902として記憶された各モジュールプログラムに係る電子署名を、fwuファイル801として提供された各モジュールプログラムに係る電子署名に更新する。
なお、ここでは、NIC241等により受信されたプログラムに係る電子署名の正当性を条件に、メモリカード261に記憶されたプログラムを、NIC241等により受信されたプログラムに更新することにしたが、同様にして、NIC241等により受信されたプログラムに係る電子署名の正当性を条件に、HDD233に記憶されたプログラムを、NIC241等により受信されたプログラムに更新することにしてもよい。
OUS169により実行される処理の詳細については、図17や図18や図19と同様である。ただし、S11やS12やS13やS14の処理は、S21やS22やS23やS24の処理に適宜置換される。
(応用例)
図17や図18の応用例として、更新用メモリカード262内に複数のfwuファイル801が存在する場合のフローの例について説明する。
図21は、図17の応用例に相当するフローチャートである。
OUS169は、更新用メモリカード262が挿入されてマウントされた旨を通知(S11)されると、MCS165を介してメモリを取得(S12)すると共に、更新用メモリカード262に記憶されたfwuファイル801から未処理のfwuファイル801を選択(S301)する。続いて、fwuファイル801のヘッダ部分811を解析(S101)する。続いて、fwuファイル801として記憶された各モジュールプログラムに係る電子署名が正当であるか否かを判断(S102)する。正当でないと判断されたモジュールプログラムが存在する場合には、OCS166を介してタッチパネル311にエラーモジュールが存在する旨を表示(S103)する。正当でないと判断されたモジュールプログラムが存在しない場合には、更新用メモリカード262内に未処理のfwuファイル801が存在すれば(S302)S301に戻り、更新用メモリカード262内に未処理のfwuファイル801が存在しなければ(S302)S104に進む。そのS104では、正当であると判断された各モジュールプログラムについて、OCS166を介してタッチパネル311に更新対象モジュールとして表示(S104)する。
OUS169は、タッチパネル311のタッチ操作により更新対象モジュールが選択(S105)されると、更新対象のfwuファイル801から未処理のfwuファイル801を選択(S303)する。続いて、更新用メモリカード262からfwuファイル801を取得してメモリに展開(S13)する。続いて、fwuファイル801のヘッダ部分811を解析(S106)する。続いて、fwuファイル801として取得された各モジュールプログラムに係る電子署名が正当であるか否かを判断(S107)する。正当でないと判断されたモジュールプログラムが存在する場合には、OCS166を介してタッチパネル311にエラーモジュールが存在する旨を表示(S108)する。正当でないと判断されたモジュールプログラムが存在しない場合には、更新対象のfwuファイル801で未処理のfwuファイル801が存在すれば(S304)S303に戻り、更新対象のfwuファイル801で未処理のfwuファイル801が存在しなければ(S304)S14に進む。そのS14では、正当であると判断された各モジュールプログラムについて、modファイル901として記憶されたモジュールプログラムを、fwuファイル801として取得されたそのモジュールプログラムに更新(S14)する。
図21でも、図18のバックアップ処理(S111)を実行するようにしてもよい。
(フローチャートの詳細)
図17や図18やこれらの応用例のフローチャートの詳細について説明する。
図22は、モジュール更新(S14)に係るフローチャートである。
OUS169は先ず、ヘッダ解析(S106)で取得したパス名に基づいて、moduleディレクトリ(図15参照)内のmodファイル901を更新(S301)する。OUS169は次に、ヘッダ解析(S106)で取得したパス名に基づいて、moduleディレクトリ(図15参照)内のmacファイル902を更新(S302)する。OUS169はそして、S301とS302とを各ヘッダについて繰り返す(S303)。
図23は、バックアップ処理(S111)に係るフローチャートである。
OUS169は先ず、backupディレクトリ(図15参照)内のバックアップファイルを削除(S401)する。OUS169は次に、ヘッダ解析(S106)で取得したパス名に基づいて、moduleディレクトリ(図15参照)内のmodファイル901をbackupディレクトリ(図15参照)内にコピー(S402)する。OUS169は次に、ヘッダ解析(S106)で取得したパス名に基づいて、moduleディレクトリ(図15参照)内のmacファイル902をbackupディレクトリ(図15参照)内にコピー(S403)する。OUS169はそして、S402とS403とを各ヘッダについて繰り返す(S404)。
本発明の実施の形態の例である融合機を表す。 図1の融合機のハードウェアを表す。 図1の融合機の外観を表す。 オペレーションパネルを表す。 融合機起動部を表す。 メモリカード内のファイルツリーの例を表す。 マウント処理と起動処理に係るフローチャートである。 cnfファイルの電子署名チェックに係るフローチャートである。 modファイルの電子署名チェックに係るフローチャートである。 SDメモリカード用スロットとSDメモリカードに係るソフトウェアを表す。 第1実施例について説明するための図である。 更新用メモリカードに記憶されたデータのデータ構造を表す。 更新用メモリカード内のファイル構成の例を表す。 メモリカードに記憶されたデータのデータ構造を表す。 メモリカード内のファイル構成の例を表す。 HDD内のファイル構成の例を表す。 OUSにより実行される処理に係るフローチャートである。 OUSにより実行される処理に係るフローチャートである。 モジュールプログラムの電子署名チェックに係るフローチャートである。 第2実施例について説明するための図である。 図17の応用例に相当するフローチャートである。 モジュール更新に係るフローチャートである。 バックアップ処理に係るフローチャートである。
符号の説明
101 融合機
111 ハードウェア
112 ソフトウェア
113 融合機起動部
121 撮像部
122 印刷部
123 その他のハードウェア
131 アプリケーション
132 プラットフォーム
133 アプリケーションインタフェース
134 エンジンインタフェース
141 コピーアプリ
142 プリンタアプリ
143 スキャナアプリ
144 ファクシミリアプリ
145 ネットワークファイルアプリ
151 コントロールサービス
152 システムリソースマネージャ
153 ハンドラ
161 ネットワークコントロールサービス
162 ファクシミリコントロールサービス
163 デリバリコントロールサービス
164 エンジンコントロールサービス
165 メモリコントロールサービス
166 オペレーションパネルコントロールサービス
167 ユーザディレクトリコントロールサービス
168 システムコントロールサービス
169 オンデマンドアップデートサービス
171 ファクシミリコントロールユニットハンドラ
172 イメージメモリハンドラ
201 コントローラ
202 オペレーションパネル
203 ファクシミリコントロールユニット
211 CPU
212 ASIC
221 NB
222 SB
231 MEM−P
232 MEM−C
233 HDD
241 NIC
242 USBデバイス
243 IEEE1394デバイス
244 セントロニクスデバイス
251 メモリカード用スロット
252 更新用メモリカード用スロット
261 メモリカード
262 更新用メモリカード
301 原稿セット部
302 給紙部
303 排紙部
311 タッチパネル
312 数字ボタン
313 スタートボタン
321 ADF
322 フラットベッド
323 フラットベッドカバー
501 メモリモニタ部
502 プログラム起動部
601 SDメモリカード用スロット
611 SDメモリカード
621 SDメモリカードアクセスドライバ
622 SDメモリカードステータスドライバ
623 起動処理用プログラム
624 SDメモリカードチェックプログラム
801 fwuファイル
811 ヘッダ部分
812 データ部分
901 modファイル
902 macファイル
911 データ
912 データ

Claims (21)

  1. 当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置であって、
    前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新手段を備えることを特徴とする画像形成装置。
  2. 当該画像形成装置を機能させるプログラムが記憶された記憶媒体をセットするための記憶媒体セット手段と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置であって、
    前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新手段を備えることを特徴とする画像形成装置。
  3. 当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムを受信する受信手段とを備える画像形成装置であって、
    前記受信手段により受信された前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記受信手段により受信された前記プログラムに更新するプログラム更新手段を備えることを特徴とする画像形成装置。
  4. 当該画像形成装置を機能させるプログラムが記憶された記憶媒体をセットするための記憶媒体セット手段と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムを受信する受信手段とを備える画像形成装置であって、
    前記受信手段により受信された前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記受信手段により受信された前記プログラムに更新するプログラム更新手段を備えることを特徴とする画像形成装置。
  5. 前記プログラム更新手段は、前記記憶媒体に記憶された前記プログラムと、そのプログラムに係る電子署名とを、前記更新用記憶媒体から取得される前記プログラムと、そのプログラムに係る電子署名とに更新することを特徴とする請求項1又は2に記載の画像形成装置。
  6. 前記プログラム更新手段は、前記記憶媒体に記憶された前記プログラムと、そのプログラムに係る電子署名とを、前記受信手段により受信された前記プログラムと、そのプログラムに係る電子署名とに更新することを特徴とする請求項3又は4に記載の画像形成装置。
  7. 前記プログラム更新手段は、前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を、当該プログラムから作成したメッセージダイジェストと当該電子署名を復号化したメッセージダイジェストとの照合をもって判断することを特徴とする請求項1又は2に記載の画像形成装置。
  8. 前記プログラム更新手段は、前記受信手段により受信された前記プログラムに係る電子署名の正当性を、当該プログラムから作成したメッセージダイジェストと当該電子署名を復号化したメッセージダイジェストとの照合をもって判断することを特徴とする請求項3又は4に記載の画像形成装置。
  9. 前記記憶媒体に記憶された前記プログラムを、当該プログラムに係る電子署名の正当性と、当該プログラムに係る設定ファイルの電子署名の正当性とを条件に、当該記憶媒体に記憶された当該設定ファイルに従って起動するプログラム起動手段を備えることを特徴とする請求項1乃至8のいずれか1項に記載の画像形成装置。
  10. 前記プログラム起動手段は、前記記憶媒体に記憶された前記プログラムに係る電子署名の正当性を、当該プログラムから作成したメッセージダイジェストと当該電子署名を復号化したメッセージダイジェストとの照合をもって判断することを特徴とする請求項9に記載の画像形成装置。
  11. 前記プログラム起動手段は、前記記憶媒体に記憶された前記設定ファイルの電子署名の正当性を、当該設定ファイルから作成したメッセージダイジェストと当該電子署名を復号化したメッセージダイジェストとの照合をもって判断することを特徴とする請求項9に記載の画像形成装置。
  12. 前記記憶媒体に記憶された前記設定ファイルの電子署名は、当該設定ファイルと当該記憶媒体に固有なデータとから作成したメッセージダイジェストを暗号化したものであることを特徴とする請求項11に記載の画像形成装置。
  13. 前記記憶媒体に固有な前記データは、前記記憶媒体のシリアルIDであることを特徴とする請求項12に記載の画像形成装置。
  14. 当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置についてのプログラム更新方法であって、
    前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新段階を備えることを特徴とするプログラム更新方法。
  15. 当該画像形成装置を機能させるプログラムが記憶された記憶媒体をセットするための記憶媒体セット手段と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置についてのプログラム更新方法であって、
    前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新段階を備えることを特徴とするプログラム更新方法。
  16. 当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムを受信する受信手段とを備える画像形成装置についてのプログラム更新方法であって、
    前記受信手段により受信された前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記受信手段により受信された前記プログラムに更新するプログラム更新段階を備えることを特徴とするプログラム更新方法。
  17. 当該画像形成装置を機能させるプログラムが記憶された記憶媒体をセットするための記憶媒体セット手段と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムを受信する受信手段とを備える画像形成装置についてのプログラム更新方法であって、
    前記受信手段により受信された前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記受信手段により受信された前記プログラムに更新するプログラム更新段階を備えることを特徴とするプログラム更新方法。
  18. 前記プログラム更新段階は、前記記憶媒体に記憶された前記プログラムと、そのプログラムに係る電子署名とを、前記更新用記憶媒体から取得される前記プログラムと、そのプログラムに係る電子署名とに更新することを特徴とする請求項14又は15に記載のプログラム更新方法。
  19. 前記プログラム更新段階は、前記記憶媒体に記憶された前記プログラムと、そのプログラムに係る電子署名とを、前記受信手段により受信された前記プログラムと、そのプログラムに係る電子署名とに更新することを特徴とする請求項16又は17に記載のプログラム更新方法。
  20. 前記記憶媒体に記憶された前記プログラムを、当該プログラムに係る電子署名の正当性と、当該プログラムに係る設定ファイルの電子署名の正当性とを条件に、当該記憶媒体に記憶された当該設定ファイルに従って起動するプログラム起動段階を備えることを特徴とする請求項14乃至19のいずれか1項に記載のプログラム更新方法。
  21. 請求項1又は2に記載の更新用記憶媒体であって、請求項1又は2に記載の記憶媒体に記憶された前記プログラムを更新するためのプログラムと、そのプログラムに係る電子署名とが記憶された更新用記憶媒体。
JP2004057678A 2003-03-19 2004-03-02 画像形成装置、プログラム更新方法、及び更新用記憶媒体 Expired - Fee Related JP4409992B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004057678A JP4409992B2 (ja) 2003-03-19 2004-03-02 画像形成装置、プログラム更新方法、及び更新用記憶媒体
US10/801,684 US7644288B2 (en) 2003-03-19 2004-03-17 Image forming apparauts that checks authenticity of an update program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003076604 2003-03-19
JP2004057678A JP4409992B2 (ja) 2003-03-19 2004-03-02 画像形成装置、プログラム更新方法、及び更新用記憶媒体

Publications (2)

Publication Number Publication Date
JP2004299389A true JP2004299389A (ja) 2004-10-28
JP4409992B2 JP4409992B2 (ja) 2010-02-03

Family

ID=33421891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004057678A Expired - Fee Related JP4409992B2 (ja) 2003-03-19 2004-03-02 画像形成装置、プログラム更新方法、及び更新用記憶媒体

Country Status (1)

Country Link
JP (1) JP4409992B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213246A (ja) * 2006-02-08 2007-08-23 Ricoh Co Ltd アプリケーション実行装置、アプリケーション実行方法及びアプリケーション実行プログラム
JP2007318731A (ja) * 2006-04-26 2007-12-06 Ricoh Co Ltd 複数のモジュール構成情報を管理できる画像形成装置
JP2008171041A (ja) * 2007-01-05 2008-07-24 Ricoh Co Ltd 画像形成装置、画像形成装置の起動方法、制御装置及び拡張ユニットの起動方法
JP2010003233A (ja) * 2008-06-23 2010-01-07 Murata Mach Ltd 情報通信システムとその認証プログラム
JP2010009268A (ja) * 2008-06-26 2010-01-14 Murata Mach Ltd 情報通信システムとその認証プログラム
JP2010044509A (ja) * 2008-08-11 2010-02-25 Murata Machinery Ltd 情報通信システムとその認証プログラム
JP2010044510A (ja) * 2008-08-11 2010-02-25 Murata Machinery Ltd 情報通信システムとその認証プログラム
US8103878B2 (en) 2007-06-06 2012-01-24 Hitachi, Ltd. Control device, update method and control software

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213246A (ja) * 2006-02-08 2007-08-23 Ricoh Co Ltd アプリケーション実行装置、アプリケーション実行方法及びアプリケーション実行プログラム
JP2007318731A (ja) * 2006-04-26 2007-12-06 Ricoh Co Ltd 複数のモジュール構成情報を管理できる画像形成装置
JP2008171041A (ja) * 2007-01-05 2008-07-24 Ricoh Co Ltd 画像形成装置、画像形成装置の起動方法、制御装置及び拡張ユニットの起動方法
US8103878B2 (en) 2007-06-06 2012-01-24 Hitachi, Ltd. Control device, update method and control software
JP2010003233A (ja) * 2008-06-23 2010-01-07 Murata Mach Ltd 情報通信システムとその認証プログラム
JP2010009268A (ja) * 2008-06-26 2010-01-14 Murata Mach Ltd 情報通信システムとその認証プログラム
JP2010044509A (ja) * 2008-08-11 2010-02-25 Murata Machinery Ltd 情報通信システムとその認証プログラム
JP2010044510A (ja) * 2008-08-11 2010-02-25 Murata Machinery Ltd 情報通信システムとその認証プログラム

Also Published As

Publication number Publication date
JP4409992B2 (ja) 2010-02-03

Similar Documents

Publication Publication Date Title
US10148846B2 (en) Information processing system, method and recoding medium
US7644288B2 (en) Image forming apparauts that checks authenticity of an update program
US8082449B2 (en) Information processing apparatus, information processing method, information processing program and recording medium
US7634481B2 (en) File creation method, server, computer terminal, recording medium, information processing apparatus, and program addition system
US8209547B2 (en) Recording medium, storage unit, information processing apparatus, information processing method, information processing program and computer readable medium
US8649028B2 (en) Image forming apparatus and method for establishing a connection with a USB device driver and application
JP4575860B2 (ja) 画像形成装置、インストール方法、インストールプログラム、及び記録媒体
JP5095325B2 (ja) 画像処理装置及び画像処理方法
JP4409992B2 (ja) 画像形成装置、プログラム更新方法、及び更新用記憶媒体
JP5776741B2 (ja) 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム
JP2004303209A (ja) 画像形成装置、プログラム更新方法、及び更新用記憶媒体
JP2008171041A (ja) 画像形成装置、画像形成装置の起動方法、制御装置及び拡張ユニットの起動方法
JP2006079211A (ja) 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2004303222A (ja) 情報処理装置,画像形成装置,プログラム起動方法および記録媒体
JP4485749B2 (ja) 画像形成装置
JP2004287839A (ja) 情報処理装置,画像形成装置,プログラム追加方法
JP5063718B2 (ja) 画像形成装置及びネットワークシステム
JP2005059587A (ja) 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2010263638A (ja) 画像形成装置、システム、情報処理方法、情報処理プログラム、及び記録媒体
JP2006103290A (ja) 画像形成装置
JP2004287622A (ja) 情報処理装置,画像形成装置,プログラム追加方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090925

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091112

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131120

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees