JP7129296B2 - 画像処理装置、画像処理装置の制御方法 - Google Patents
画像処理装置、画像処理装置の制御方法 Download PDFInfo
- Publication number
- JP7129296B2 JP7129296B2 JP2018180330A JP2018180330A JP7129296B2 JP 7129296 B2 JP7129296 B2 JP 7129296B2 JP 2018180330 A JP2018180330 A JP 2018180330A JP 2018180330 A JP2018180330 A JP 2018180330A JP 7129296 B2 JP7129296 B2 JP 7129296B2
- Authority
- JP
- Japan
- Prior art keywords
- application program
- cpu
- image processing
- update
- determined
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00912—Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
- H04N1/00938—Software related arrangements, e.g. loading applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00962—Input arrangements for operating instructions or parameters, e.g. updating internal software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/333—Mode signalling or mode changing; Handshaking therefor
- H04N1/33369—Storage of mode or retrieval of prestored mode
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
Description
しかし、画像形成装置のユーザにとって、原因がファームウェア改ざんか否かに関わらず画像形成装置が使用できないダウンタイムが発生することは損失である。装置のダウンタイムを短くしユーザの不利益を少なくするためには、正常でなくなったファームウェアを修復して回復させる機能を画像形成装置に備えることが望ましい。
従来、ファームウェア修復技術としてはファームウェアアップデート途中で発生した異状により、ファームウェアが正常に更新できていない状態から復旧させる技術があった。
特許文献1は装置に通常用ファームウェアとアップデート用ファームとの2つのファームウェアを備えておく技術である。この技術では、まずアップデート用ファームウェアを起動して通常用ファームウェアを更新し、次に通常用ファームウェアを起動してアップデート用ファームウェアを更新するという手順でファームウェアアップデートを実行する。これによりファームウェアアップデート動作中に異常が発生しても、異常発生時に更新対象でなかった方のファームウェアは正常であるため、正常な方のファームウェアを実行して復旧動作が実行できるようにしている。
ファームウェア改ざんによるダウンタイムを最少とするには、装置起動時に改ざんが検知された場合に自動的にファームウェアを修復し、ユーザの特別な操作なしに画像形成装置を使用可能な状態へ復旧するのが望ましい。
このとき、ファームウェア復旧のためには改ざんされていない正常な状態のファームウェアが必要となる。短時間で復旧するためには復旧用の正常な状態のファームウェアを予め装置内に保管しておく必要がある。
しかし、近年の高機能な画像形成装置ではファームウェアのサイズが大きくなっており、正常な状態のファームウェアを保管しておくためには大容量の不揮発記憶媒体が必要となり、製品のコストを増大させてしまう。
従来技術を用いた画像形成装置でも、コスト制約のため通常用ファームウェアとアップデート用ファームウェアとは機能の異なる別々のファームウェアとするのが一般的である。通常用ファームウェアには画像形成装置の全ての機能を提供するプログラムとファームウェアのアップデート及び修復に関するプログラムとを含む。しかしアップデート用ファームウェアにはファームウェアのアップデート及び修復に関する最小限の機能のみを含む構成とし、ファームウェアサイズを節減する。このようにしてファームウェアを格納する記憶媒体のコストを抑えるのが一般的である。
一方で、画像形成装置ファームウェアにはハードウェアの制御等を行う特別なプログラムであるOSが含まれている。OSは画像形成装置にどんな動作でもさせることができる特別なプログラムであり、OSが改ざんされてしまうと画像形成装置は攻撃者によって乗っ取られてしまう。このような特性のあるプログラムであるため、画像形成装置のファームウェアの中に含まれるOSについては攻撃者からのファームウェア改ざんの攻撃対象となりやすい。
このようなファームウェアの中でも特に攻撃対象となりやすい部分については、装置のダウンタイム短縮の観点からファームウェア修復手段の必要性が大きいといえる。
図1は、画像形成装置1のハードウェア構成の一例を示す図である。画像形成装置1は、画像を処理する画像処理装置の一例である。
画像形成装置1は以下のハードウェアを含む。
スキャナ装置2は、原稿から光学的に画像を読み取りデジタル画像に変換する。プリンタ装置4は、デジタル画像を紙デバイスに出力する。操作部5は、画像形成装置1の操作を行なうためのものである。ハードディスク装置6は、デジタル画像及び様々な一時データを記憶する。コントローラ3は、これらのハードウェアと接続され、各モジュールに指示を出すことにより画像形成装置上でジョブを実行することができる。
画像形成装置1はLAN7経由で外部のコンピュータからデジタル画像の入出力、ジョブの発行及び機器の指示等も行なうことができる。
操作部5は、ユーザが画像形成装置に画像複写等の動作を指示したり、画像形成装置の各種情報をユーザに提示したりするための、操作ボタン及び液晶画面等の表示パネルを備える。
内部バス102には、これに加えてストレージ装置を制御するディスクインターフェース(I/F)106が接続されている。CPU101は、ディスクI/F106を通してSSD107及びハードディスク装置6を制御できる。SSD107には画像形成装置1を動作させるためにCPU101が実行するファームウェアが格納されている。また、コントローラ3はファームウェアの正当性を検証する機能を持つセキュリティチップ108を含む。
また、コントローラ3には、操作部インターフェース(I/F)109を介して操作部5が接続され、ネットワークインターフェース110を介してLAN7が接続される。また、コントローラ3には、スキャナインターフェース(I/F)111を介してスキャナ装置2が接続され、プリンタインターフェース(I/F)112を介してプリンタ装置4が接続される。
SSD107にはブートローダー201、通常用ファームウェア210、アップデート用ファームウェア220の3種類の実行可能プログラムが格納されている。通常用ファームウェア210及びアップデート用ファームウェア220は、複数のファームウェアの一例である。以下の実施形態では、2つのファームウェアを例に説明を行うが、2つ以上のファームウェアがSSD107に格納されていてもよい。
ブートローダー201は画像形成装置1の起動時にBIOSと呼ばれる初期プログラムによって最初にロードされてCPU101によって実行されるプログラムである。
画像形成装置1は、通常動作時に実行するファームウェアとは別に、ファームウェアアップデートの際に実行するもう一つのファームウェアを備えている。通常用ファームウェア210は通常動作時にCPU101によって実行されるファームウェアである。アップデート用ファームウェア220はファームウェアアップデートの際にCPU101によって実行されるファームウェアである。
通常用ファームウェア210にはOS211と通常用アプリケーションプログラム212とが含まれる。OS211はコントローラ3を構成するハードウェアの動作制御等を行うオペレーティングシステムである。通常用アプリケーションプログラム212は通常動作時に画像形成装置1を制御してコピー及びプリント等の様々なジョブの実行を実現するための実行可能プログラムである。また、通常用アプリケーションプログラム212はファームウェアアップデートの際にアップデート用ファームウェア220を更新する機能も含んでいる。OS211は、通常用ファームウェア210に含まれる共通部の一例である。
また、これらの実行可能プログラムには正当性を検証するための電子署名が付加されている。セキュリティチップ108は電子証明を用いて実行可能プログラムの正当性を検証することができる。電子署名202はブートローダー201を検証するための電子署名である。電子署名213はOS211を検証するための電子署名である。電子署名214は通常用アプリケーションプログラム212を検証するための電子署名である。電子署名223はOS221を検証するための電子署名である。電子署名224はアップデート用アプリケーションプログラム222を検証するための電子署名である。
まず、S301において、CPU101は、ブートROM105に格納された初期プログラムであるBIOSの実行を開始する。以降のS302~S305の処理はCPU101がBIOSを実行することで実現される。
S302において、BIOSを実行することによってCPU101は、SSD107に格納されたブートローダー201をメモリ103にロードし、正当性を検証する。これは電子署名202をセキュリティチップ108で検証することで実現される。
S303において、CPU101は、ブートローダー201の検証結果に基づいて検証に成功したか否かを判定する。CPU101は、検証が成功し正当であった場合はS305へ、正当でなかった場合はS304へ進む。
S304において、つまりブートローダー201の検証結果が正当でなかった場合、CPU101は、操作部5の表示パネルにエラーコードを表示して画像形成装置1の起動を中断する。図4(a)はブートローダー201の検証に成功しなかった場合の画面表示の一例を示す図である。
S306において、CPU101は、ファームウェアアップデートモードでの起動が指示されているかどうかを判定する。画像形成装置1では、ユーザが操作部5の操作スイッチを操作することによりファームウェアアップデートモードでの起動を指示することができる。ファームウェアアップデートモードでの起動が指示されている場合には、CPU101は、S307へ進む。指示されていない場合には、CPU101は、S317へ進む。S307に進んだ場合、起動対象のファームウェアは、アップデート用ファームウェア220となる。また、S317に進んだ場合、起動対象のファームウェアは、通常用ファームウェア210となる。
S307において、つまりファームウェアアップデートモードでの起動が指示されていた場合、CPU101は、SSD107からメモリ103にOS221をロードし、正当性を検証する。これは電子署名223をセキュリティチップ108で検証することで実現される。
S308において、CPU101は、検証結果に基づいて検証に成功したか否かを判定する。検証が成功し、OS221が正当であった場合には、CPU101は、S310へ進む。正当でなかった場合には、CPU101は、S309へ進む。
S309において、つまりOS221が正当でなかった場合、CPU101は、OS221の修復を実行する。そして修復が完了すると、CPU101は、S310へ進む。
S411において、CPU101は、OS211の正当性を検証する。これは電子署名213をセキュリティチップ108で検証することで実現される。画像形成装置1では、OS221の修復にOS211を利用するため、事前にOS211の正当性を検証しておく必要がある。
S412において、CPU101は、OS211の検証結果に基づいて検証に成功したか否かを判定する。検証が成功し、OS211が正当だった場合は、CPU101は、S414へ進む。そうでなかった場合は、CPU101は、S413へ進む。
S413において、つまりOS211が正当でなかった場合、CPU101は、アップデート用ファームウェア220が正当でないことを示すエラーコードを操作部5の表示パネルに表示し、起動を中断する。これはOS211が正当でない場合はOS221を修復することができないためである。図4(c)はアップデート用ファームウェア220が正当でないことを示す画面表示の一例を示す図である。
一方、OS211が正当だった場合、S414において、CPU101は、OS211の内容をSSD107内のOS221に上書きする。これによりOS221が修復される。
以上でCPU101はOS221修復のフローチャートの処理を終えて元の処理に戻る。
S310において、CPU101は、OS221の実行を開始し、S311へ進む。以降のS311~S314の処理はCPU101がOS221を実行することによって実現される。
S311において、CPU101は、アップデート用アプリケーションプログラム222をメモリ103にロードし、正当性を検証する。これは電子署名224をセキュリティチップ108で検証することで実現される。
S312において、CPU101は、検証結果に基づいて検証に成功したか否かを判定する。検証が成功し、アップデート用アプリケーションプログラム222が正当であった場合には、CPU101は、S314へ進む。正当でなかった場合には、CPU101は、S313へ進む。
S313において、つまりアップデート用アプリケーションプログラム222が正当でなかった場合、CPU101は、アップデート用ファームウェア220が正当でないことを示すエラーコードを操作部5の表示パネルに表示し、起動を中断する。図4(c)は、アップデート用ファームウェア220が正当でないことを示す画面表示の一例を示す図である。
一方、アップデート用アプリケーションプログラム222が正当であった場合には、S314において、CPU101は、アップデート用アプリケーションプログラム222の実行を開始する。以降のS315~S316の処理はCPU101がアップデート用アプリケーションプログラム222を実行することによって実現される。
S315において、CPU101は、通常用ファームウェア210の更新を実行する。
S501において、CPU101は、ネットワークインターフェース110を介してLAN7から画像形成装置1の新しいファームウェアを含んだアップデートイメージを受信する。CPU101は取得したアップデートイメージを一時的なデータ保管場所であるハードディスク装置6に格納する。
図7はアップデートイメージの構成を示した図である。アップデートイメージにはCPU101で実行可能なプログラムであるOS601、通常用アプリケーションプログラム602、アップデート用アプリケーションプログラム603が含まれる。また、これらの実行可能プログラムには正当性を検証するための電子署名が付加されている。OS601には電子署名604、通常用アプリケーションプログラム602には電子署名605、アップデート用アプリケーションプログラム603には電子署名606が付加されている。これらの電子署名をセキュリティチップ108で検証することにより正当性を検証可能である。
S503において、CPU101は、アップデートイメージの正当性検証の結果に基づいて検証に成功したか否かを判定する。検証成功し、正当と判定した場合は、CPU101は、S505へ進む。そうでない場合は、CPU101は、S504へ進む。
S504において、つまりアップデートイメージが正当でないと判定した場合、CPU101は、ファームウェアアップデートが実行できないことを示すエラーコードを操作部5の表示パネルに表示する。図4(d)は、ファームウェアアップデートが実行できないことを示す画面表示の一例を示す図である。エラーコードを表示した後、CPU101は、通常用ファームウェア更新のフローチャートの処理を終了する。
一方、アップデートイメージが正当であると判定した場合、S505において、CPU101は、アップデートイメージに含まれるOS601を用いてSSD107上のOS211を更新する。
S506において、CPU101は、通常用アプリケーションプログラム602を用いてSSD107上の通常用アプリケーションプログラム212を更新する。
S507において、CPU101は、アップデート用ファームウェア220の更新を行う必要があることを示すアップデート実行フラグをSRAM104にセットし、通常用ファームウェア更新のフローチャートの処理を終了する。
以降再び図3のフローチャートを用いてCPU101の動作を説明する。
S316において、CPU101は、画像形成装置1を再起動させる。これによりCPU101は、S301へ戻り、図3のフローチャートを再び最初から実行することになる。
S317において、CPU101は、SSD107からメモリ103にOS211をロードし、正当性を検証する。これは電子署名213をセキュリティチップ108で検証することで実現される。
S318において、CPU101は、検証結果に基づいて検証に成功したか否かを判定する。検証が成功し、OS211が正当であった場合には、CPU101は、S320へ進む。正当でなかった場合には、CPU101は、S319へ進む。
S319において、つまりOS211が正当でなかった場合、CPU101は、OS211の修復を実行する。そして修復が完了すると、CPU101は、S320へ進む。
S401において、CPU101は、OS221の正当性を検証する。これは電子署名223をセキュリティチップ108で検証することで実現される。画像形成装置1では、OS211の修復にOS221を利用するため、事前にOS221の正当性を検証しておく必要がある。
S402において、CPU101は、OS221の検証結果に基づいて検証に成功したか否かを判定する。検証が成功し、OS221が正当だった場合は、CPU101は、S404へ進む。そうでなかった場合は、CPU101は、S403へ進む。
S403において、つまりOS221が正当でなかった場合、CPU101は、通常用ファームウェア210が正当でないことを示すエラーコードを操作部5の表示パネルに表示し、起動を中断する。これはOS221が正当でない場合はOS211を修復することができないためである。図4(b)は通常用ファームウェア210が正当でないことを示す画面表示の一例を示す図でもある。
一方、OS221が正当だった場合、S404において、CPU101は、OS221の内容をSSD107内のOS211に上書きする。これによりOS211が修復される。
以上でCPU101はOS211修復のフローチャートの処理を終えて元の処理に戻る。
S320において、CPU101は、OS211の実行を開始し、S321へ進む。以降のS321~S324の処理はCPU101がOS211を実行することによって実現される。
S321において、CPU101は、通常用アプリケーションプログラム212をメモリ103にロードし、正当性を検証する。これは電子署名214をセキュリティチップ108で検証することで実現される。
S322において、CPU101は、検証結果に基づいて検証に成功したか否かを判定する。検証が成功し、通常用アプリケーションプログラム212が正当であった場合には、CPU101は、S324へ進む。正当でなかった場合には、CPU101は、S323へ進む。
S323において、つまり通常用アプリケーションプログラム212が正当でなかった場合、CPU101は、通常用ファームウェア210が正当でないことを示すエラーコードを操作部5の表示パネルに表示し、起動を中断する。図4(b)は通常用ファームウェア210が正当でないことを示す画面表示の一例を示す図である。
S325において、CPU101は、アップデート用ファームウェア220の更新を行う必要があることを示すアップデート実行フラグがSRAM104にセットされているかどうかを判定する。アップデート実行フラグがセットされているならば、CPU101は、S326へ進む。セットされていないならば、CPU101は、S328へ進む。
S326において、つまりアップデート実行フラグがセットされていた場合、CPU101は、アップデート用ファームウェア220の更新を実行し、S327へ進む。
S511において、CPU101は、ハードディスク装置6に格納されているアップデートイメージに含まれるOS601を用いてSSD107上のOS221を更新する。
S512において、CPU101は、アップデート用アプリケーションプログラム603を用いてSSD107上のアップデート用アプリケーションプログラム222を更新する。
S513において、CPU101は、SRAM104のアップデート実行フラグをクリアし、アップデート用ファームウェア更新のフローチャートの処理を終了する。
以降は再び図3のフローチャートを用いてCPU101の動作を説明する。
S327において、CPU101は、画像形成装置1を再起動させる。これによりCPU101は、S301へ戻り、図3のフローチャートを再び最初から実行することになる。
一方、S328において、CPU101は、画像形成装置1でのジョブ受付を開始し、これにより画像形成装置1の起動が完了する。
また、ファームウェアアップデート機能のために保持しているOS221等の別ファームウェアの一部を、ファームウェア修復用の正常な状態のファームウェアとして兼用する。これによりSSD107等の不揮発記憶媒体の容量増加を抑え、ファームウェア修復機能を実現するコストを低減できる。
実施形態1では、CPU101がブートローダー201を実行することによりOS211又はOS221を検証し、更に修復も行うこととしていた。しかし、修復については必ずしもブートローダー201で実行しなくとも、ブートローダー201より後に実行されるプログラムであれば実現可能である。
一例として本実施形態では通常用アプリケーションプログラム212、アップデート用アプリケーションプログラム222を実行することにより修復する構成について説明する。
尚、本実施形態の画像形成装置1の情報処理は一部を除いて実施形態1と同一である。以降の説明では実施形態1と異なる点についてのみ述べ、同一である点については説明を省略する。
まず、図8のS801~S808の処理については図3のS301~S308の処理と同一であるため詳細の説明は省略する。
S808においてOS221の検証に成功した場合は、CPU101は、S809へ進む。S809において、CPU101は、OS221の実行を開始する。そして、CPU101は、S815へ進む。以降のS815~S818の処理はCPU101がOS221を実行することによって実現される。
S810において、CPU101は、OS211をメモリ103にロードし、正当性を検証する。これは電子署名213をセキュリティチップ108で検証することで実現される。
S811において、CPU101は、検証結果に基づいて判定を行う。検証が成功し、OS211が正当であった場合には、CPU101は、S813へ進む。正当でなかった場合には、CPU101は、S309へ進む。
S812において、つまりOS211が正当でなかった場合、CPU101は、アップデート用ファームウェア220が正当でないことを示すエラーコードを操作部5の表示パネルに表示し、起動を中断する。図4(c)はアップデート用ファームウェア220が正当でないことを示す画面表示の一例を示す図である。
S813において、つまりOS211が正当だった場合、CPU101は、修復処理の実行が必要であることを示す修復実行フラグをSRAM104にセットする。
S814において、CPU101は、OS211の実行を開始する。この場合、これ以降のS815~S818の処理はCPU101がOS211を実行することによって実現されることになる。但し、先述のようにOS211とOS221とはSSD107内の別の領域に記録された同じプログラムであり、実行する処理は同一である。
以降のS819~S823の処理はCPU101がアップデート用アプリケーションプログラム222を実行することによって実現される。
S819において、CPU101は、SRAM104に修復実行フラグがセットされているかどうかを判定する。セットされている場合、CPU101は、S820へ進む。セットされていない場合、CPU101は、S822へ進む。
S820において、つまりSRAM104に修復実行フラグがセットされていた場合、CPU101は、OS221修復の処理を実行する。
S821において、CPU101は、SRAM104の修復実行フラグをクリアする。
S822~S823の処理は図3のS315~S316の処理と同一であるので詳細の説明は省略する。
S824~S825の処理は図3におけるS317~S318の処理と同一である。
S825においてOS211の検証に成功した場合は、CPU101は、S826へ進む。S826において、CPU101は、OS211の実行を開始する。そして、CPU101は、S832へ進む。以降のS832~S835の処理はCPU101がOS221を実行することによって実現される。
一方、S825においてOS211の検証が成功しなかった場合は、CPU101は、S827へ進む。
S827において、CPU101は、OS221をメモリ103にロードし、正当性を検証する。これは電子署名223をセキュリティチップ108で検証することで実現される。
S828において、CPU101は、検証結果に基づいて判定を行う。検証が成功し、OS221が正当であった場合には、CPU101は、S830へ進む。正当でなかった場合には、CPU101は、S329へ進む。
S829において、つまりOS221が正当でなかった場合、CPU101は、通常用ファームウェア210が正当でないことを示すエラーコードを操作部5の表示パネルに表示し、起動を中断する。図4(b)は通常用ファームウェア210が正当でないことを示す画面表示の一例を示す図である。
S830において、つまりOS221が正当だった場合、CPU101は、修復処理の実行が必要であることを示す修復実行フラグをSRAM104にセットする。
S831において、CPU101は、OS221の実行を開始する。この場合、これ以降のS832~S835の処理はCPU101がOS221を実行することによって実現されることになる。
移行のS836~S841の処理はCPU101が通常用アプリケーションプログラム212を実行することによって実現される。
S836において、CPU101は、SRAM104に修復実行フラグがセットされているかどうかを判定する。セットされている場合、CPU101は、S837へ進む。セットされていない場合は、CPU101は、S839へ進む。
S837において、つまりSRAM104に修復実行フラグがセットされていた場合、CPU101は、OS211修復の処理を実行する。
S838において、CPU101は、SRAM104の修復実行フラグをクリアする。
S839~S842の処理は図3のS325~S328の処理と同一であるので詳細の説明は省略する。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101 CPU
Claims (13)
- 画像処理装置であって、
第1のオペレーティングシステム(OS)と、前記第1のOSが実行された後に実行される第1アプリケーションプログラムと、前記第1のOSと少なくとも一部が同一のプログラムにより構成された第2のオペレーティングシステム(OS)と、前記第2のOSが実行された後に実行される第2アプリケーションプログラムとを記憶する記憶手段と、
アップデート指示により起動する第2の起動モードにおいて、前記第2のOSを実行し、前記第2アプリケーションプログラムを実行し、前記アップデート指示を受け付けることなく起動する第1の起動モードにおいて、前記第1のOSを検証し、前記検証において正当であると判定された第1のOSを実行し、その後に前記第1アプリケーションプログラムを実行する実行手段と、
を備え、
前記第1の起動モードにおける前記検証により前記第1のOSが正当でないと判定されると、前記第2のOSの少なくとも一部を用いて、前記正当でないと判定された前記第1のOSを修復する修復手段とを有することを特徴とする画像処理装置。 - 前記修復手段は、前記第2のOSの少なくとも一部を用いて、前記正当でないと判断された前記第1のOSの少なくとも一部に上書きすることで、前記正当でないと判定された前記第1のOSを修復する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記修復手段は、前記検証において前記第1のOSが正当でないと判定されると、前記第2のOSを検証し、前記第2のOSの検証により正当であると判定された第2のOSを使って、前記正当でないと判定された前記第1のOSを修復する
ことを特徴とする請求項1または2に記載の画像処理装置。 - 前記実行手段は、前記第2の起動モードにおいて前記第2のOSの検証をし、前記検証により正当であると判定された第2のOSの実行を行い、その後に前記第2アプリケーションプログラムを実行する
ことを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。 - 前記修復手段は、前記第2のOSの前記検証において前記第2のOSが正当でないと判定されると前記第1のOSの少なくとも一部を用いて、前記正当でないと判定された前記第2のOSを修復する
ことを特徴とする請求項4に記載の画像処理装置。 - 前記修復手段は、前記第1のOSの少なくとも一部を用いて、前記正当でないと判断された前記第2のOSの少なくとも一部に上書きすることで、前記正当でないと判定された前記第2のOSを修復する
ことを特徴とする請求項4または5に記載の画像処理装置。 - 前記修復手段は、前記第2のOSの前記検証において前記第2のOSが正当でないと判定されると、前記第1のOSを検証し、前記第1のOSの検証により正当であると判定された第1のOSを使って、前記正当でないと判定された前記第2のOSを修復する
ことを特徴とする請求項4乃至6のいずれか1項に記載の画像処理装置。 - 前記第1の起動モードで起動した前記画像処理装置は、少なくともコピーまたはプリントのジョブを実行し、
前記第2の起動モードで起動した前記画像処理装置は、コピーおよびプリントのジョブを実行しない
ことを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。 - 前記第2アプリケーションプログラムに従って、前記第1のOSおよび前記第1アプリケーションプログラムを更新し、前記第1アプリケーションプログラムに従って、前記第2のOSおよび前記第2アプリケーションプログラムを更新する更新手段
を備える
ことを特徴とする請求項1乃至8のいずれか1項に記載の画像処理装置。 - 前記更新手段は、前記第1アプリケーションプログラムに従って、前記第2のOSおよび前記第2アプリケーションプログラムを更新する前に、前記第2のOSおよび前記第2アプリケーションプログラムを検証せず、前記第2アプリケーションプログラムに従って、前記第1のOSおよび前記第1アプリケーションプログラムを更新する前に、前記第1のOSおよび前記第1アプリケーションプログラムを検証する
ことを特徴とする請求項9に記載の画像処理装置。 - 前記画像処理装置は、ユーザからの操作を受け付ける操作部を有し、
前記アップデート指示は、前記操作部を介して受け付けた指示である
ことを特徴とする請求項1乃至10のいずれか1項に記載の画像処理装置。 - 前記第1のOSを更新するために用いる更新データを取得する取得手段と、
前記アップデート指示により起動する第2のモードにおいて前記第2のOSが起動し、前記取得した前記更新データを用いて前記第1のOSを更新する
ことを特徴とする請求項1乃至11のいずれか1項に記載の画像処理装置。 - 第1のオペレーティングシステム(OS)と、前記第1のOSが実行された後に実行される第1アプリケーションプログラムと、前記第1のOSと少なくとも一部が同一のプログラムにより構成された第2のオペレーティングシステム(OS)と、前記第2のOSが実行された後に実行される第2アプリケーションプログラムとを記憶する画像処理装置であって、
アップデート指示により起動する第2の起動モードにおいて、前記第2のOSを実行し、前記第2アプリケーションプログラムを実行し、前記アップデート指示を受け付けることなく起動する第1の起動モードにおいて、前記第1のOSを検証し、前記検証により正当であると判定された第1のOSを実行し、その後に前記第1アプリケーションプログラムを実行する実行工程と、
前記第1の起動モードにおける前記第1のOSの前記検証により前記第1のOSが正当でないと判定されると、前記第2のOSの少なくとも一部を用いて、前記正当でないと判定された前記第1のOSを修復する修復工程と
を有することを特徴とする画像処理装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018180330A JP7129296B2 (ja) | 2018-09-26 | 2018-09-26 | 画像処理装置、画像処理装置の制御方法 |
US16/577,521 US11106797B2 (en) | 2018-09-26 | 2019-09-20 | Data processing apparatus, image processing apparatus and method for verifying and restoring operating system in activation mode |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018180330A JP7129296B2 (ja) | 2018-09-26 | 2018-09-26 | 画像処理装置、画像処理装置の制御方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2020049744A JP2020049744A (ja) | 2020-04-02 |
JP2020049744A5 JP2020049744A5 (ja) | 2021-11-04 |
JP7129296B2 true JP7129296B2 (ja) | 2022-09-01 |
Family
ID=69884914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018180330A Active JP7129296B2 (ja) | 2018-09-26 | 2018-09-26 | 画像処理装置、画像処理装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11106797B2 (ja) |
JP (1) | JP7129296B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12086257B2 (en) * | 2020-04-24 | 2024-09-10 | Omnissa, Llc | Trusted firmware verification |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040255106A1 (en) | 2003-06-10 | 2004-12-16 | Rothman Michael A. | Recovery of operating system configuration data by firmware of computer system |
WO2009113376A1 (ja) | 2008-03-10 | 2009-09-17 | 日本電気株式会社 | Os起動可否判定装置、os起動可否判定システム、os起動可否判定方法およびos起動可否判定プログラム |
JP2012043161A (ja) | 2010-08-18 | 2012-03-01 | Konica Minolta Business Technologies Inc | プリンタドライバ更新プログラムおよびプリンタドライバ更新方法 |
JP2014089652A (ja) | 2012-10-31 | 2014-05-15 | Toshiba Corp | 情報処理装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09190354A (ja) * | 1996-01-08 | 1997-07-22 | Nec Corp | ダウンラインロード方式 |
JP3330569B2 (ja) * | 1999-09-28 | 2002-09-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータの制御方法、コンピュータ及び記録媒体 |
JP2001290665A (ja) * | 2000-04-11 | 2001-10-19 | Nec Software Hokuriku Ltd | プロセッサシステム |
JP4447215B2 (ja) * | 2002-12-16 | 2010-04-07 | Necエレクトロニクス株式会社 | 電子部品 |
KR100673681B1 (ko) * | 2004-03-25 | 2007-01-24 | 엘지전자 주식회사 | 개인용 컴퓨터에서의 인스턴트 온 기능 실행방법 |
EP1700520A1 (en) * | 2005-03-09 | 2006-09-13 | Nederlandse Organisatie voor toegepast-natuurwetenschappelijk Onderzoek TNO | Multifold oxygen measurement device |
JP2009093439A (ja) * | 2007-10-09 | 2009-04-30 | Canon Inc | 情報処理装置とその制御方法 |
US8171280B2 (en) * | 2009-06-22 | 2012-05-01 | Matthew Laue | Method of running multiple operating systems on an X86-based computer system having a dedicated memory region configured as a do not use region |
US8804172B2 (en) * | 2010-08-18 | 2014-08-12 | Konica Minolta Business Technologies, Inc. | Non-transitory computer readable recording medium stored with printer driver updating program and printer driver updating method |
KR101949813B1 (ko) * | 2012-09-17 | 2019-02-19 | 에이치피프린팅코리아 유한회사 | 화상형성장치, 호스트 장치 및 이들의 잡 수행 방법 |
JP6067449B2 (ja) * | 2013-03-26 | 2017-01-25 | 株式会社東芝 | 情報処理装置、情報処理プログラム |
JP6482211B2 (ja) | 2014-09-03 | 2019-03-13 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
-
2018
- 2018-09-26 JP JP2018180330A patent/JP7129296B2/ja active Active
-
2019
- 2019-09-20 US US16/577,521 patent/US11106797B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040255106A1 (en) | 2003-06-10 | 2004-12-16 | Rothman Michael A. | Recovery of operating system configuration data by firmware of computer system |
WO2009113376A1 (ja) | 2008-03-10 | 2009-09-17 | 日本電気株式会社 | Os起動可否判定装置、os起動可否判定システム、os起動可否判定方法およびos起動可否判定プログラム |
JP2012043161A (ja) | 2010-08-18 | 2012-03-01 | Konica Minolta Business Technologies Inc | プリンタドライバ更新プログラムおよびプリンタドライバ更新方法 |
JP2014089652A (ja) | 2012-10-31 | 2014-05-15 | Toshiba Corp | 情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US11106797B2 (en) | 2021-08-31 |
JP2020049744A (ja) | 2020-04-02 |
US20200097660A1 (en) | 2020-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9449262B2 (en) | Image processing apparatus and method for controlling image processing apparatus | |
JP7100502B2 (ja) | 情報処理装置とその制御方法、及びプログラム | |
JP4148283B2 (ja) | 画像形成装置 | |
US8949816B2 (en) | Firmware updating method, image forming apparatus, and storage medium | |
JP7009270B2 (ja) | 情報処理装置及びプログラムの検証方法 | |
JP2022135443A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP7129296B2 (ja) | 画像処理装置、画像処理装置の制御方法 | |
JP7152920B2 (ja) | 情報処理装置とその制御方法、及びプログラム | |
JP7374780B2 (ja) | 情報処理装置および情報処理装置の制御方法 | |
JP2020082441A (ja) | 画像形成装置、その制御方法、及びプログラム | |
KR102467636B1 (ko) | 정보 처리장치, 정보 처리장치의 제어방법, 및 기억매체 | |
JP2022071954A (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP6072160B2 (ja) | 印刷装置、印刷装置の制御方法、及び、プログラム | |
JP7210238B2 (ja) | 情報処理装置、情報処理装置の制御方法、及び、プログラム | |
JP2023124089A (ja) | 情報処理装置 | |
JP7282616B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP6706278B2 (ja) | 情報処理装置、及び情報処理方法 | |
JP7500400B2 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
JP2022157063A (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP7011697B1 (ja) | 情報処理装置および情報処理方法 | |
JP7292328B2 (ja) | 情報処理装置及びその制御方法 | |
US20230101600A1 (en) | Information processing apparatus and control method for information processing apparatus | |
JP2023154635A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP2021128469A (ja) | 情報処理装置と、情報処理装置における起動方法 | |
JP2023105421A (ja) | 情報処理装置および情報処理装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210922 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210922 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220510 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220707 |
|
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: 20220719 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220822 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7129296 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |