JP5472086B2 - Device, terminal device, server, program, and firmware update method - Google Patents
Device, terminal device, server, program, and firmware update method Download PDFInfo
- Publication number
- JP5472086B2 JP5472086B2 JP2010288343A JP2010288343A JP5472086B2 JP 5472086 B2 JP5472086 B2 JP 5472086B2 JP 2010288343 A JP2010288343 A JP 2010288343A JP 2010288343 A JP2010288343 A JP 2010288343A JP 5472086 B2 JP5472086 B2 JP 5472086B2
- Authority
- JP
- Japan
- Prior art keywords
- firmware
- update
- hash value
- terminal device
- transmission information
- 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
Landscapes
- Stored Programmes (AREA)
Description
本発明は、デバイスのファームウェアを更新するための技術に関する。 The present invention relates to a technique for updating device firmware.
従来より、プリンタ、スキャナ等のデバイスにインストールされたファームウェアを更新する技術が知られている。例えば、特許文献1には、デバイスに接続された端末装置によってデバイスメーカーのウェブサーバから最新のファームウェアをダウンロードし、そのファームウェアをデバイスに送信してファームウェアを書き換える技術が記載されている。 Conventionally, a technique for updating firmware installed in a device such as a printer or a scanner is known. For example, Patent Document 1 describes a technology in which a terminal device connected to a device downloads the latest firmware from a device manufacturer's web server, transmits the firmware to the device, and rewrites the firmware.
このようなファームウェアの更新作業は、通常はユーザが簡易に行うことができるようにすることが望ましい。 It is generally desirable that the user can easily perform such firmware update work.
ところで、デバイスには、その用途に応じて、標準仕様とは異なる仕様に設定されたものがある(例えば、印刷枚数を制限する機能が追加されたプリンタなど)。こうした特殊な仕様のデバイスには、標準のファームウェアと異なる種類の特殊なファームウェアがインストールされることがある。 By the way, some devices are set to specifications different from the standard specifications depending on the application (for example, a printer to which a function for limiting the number of printed sheets is added). A special type of firmware different from the standard firmware may be installed in such a special specification device.
このような特殊なファームウェアがインストールされているデバイスにおいて、一般のユーザが特殊なファームウェアを元の通常のファームウェアで書き換えると、それまで特殊なファームウェアで実現されていた機能が消失してしまうなどの問題があった。 In a device with such special firmware installed, if a general user rewrites the special firmware with the original normal firmware, the functions that were previously realized with the special firmware will be lost. was there.
本発明は上記のような事情に基づいて完成されたものであって、ファームウェアの種類に応じてファームウェアの更新を制限する技術を提供することを目的とする。 The present invention has been completed based on the above situation, and an object of the present invention is to provide a technique for restricting firmware update according to the type of firmware.
本明細書によって開示されるデバイスは、端末装置と接続されるデバイスであって、当該デバイスにインストールされている第1ファームウェアを記憶するデバイス記憶部と、前記端末装置から送信される送信情報を受信する第1受信制御部と、前記第1ファームウェアが、更新の際に前記送信情報の必要な第1種のファームウェアである場合に、前記第1受信制御部が前記送信情報を受信したことに応じて前記デバイス記憶部に記憶される前記第1ファームウェアを第2ファームウェアに更新する第1更新処理と、前記第1ファームウェアが、更新の際に前記送信情報の不要な第2種のファームウェアである場合に、前記第1受信制御部が前記送信情報を受信したかにかかわらず前記第1ファームウェアを前記第2ファームウェアに更新する第2更新処理と、を実行する更新制御部と、を備える。 A device disclosed in the present specification is a device connected to a terminal device, and receives a transmission information transmitted from the terminal device and a device storage unit that stores first firmware installed in the device. The first reception control unit and the first firmware corresponding to the reception of the transmission information by the first reception control unit when the first firmware is the first type of firmware required for the transmission information at the time of update. A first update process for updating the first firmware stored in the device storage unit to a second firmware, and the first firmware is a second type of firmware that does not require the transmission information at the time of update. In addition, the first firmware is updated to the second firmware regardless of whether the first reception control unit has received the transmission information. It comprises an update controller for executing a second updating process, and a.
また、上記デバイスは、前記送信情報が、当該デバイスを識別するための識別情報であり、前記送信情報を前記端末装置に送信する第1送信制御部と、をさらに備える構成でもよい。 The device may further include a first transmission control unit that transmits the transmission information to the terminal device, the transmission information being identification information for identifying the device.
また、上記デバイスは、前記更新制御部が、前記第1更新処理を実行する際に、前記第1送信制御部が前記送信情報を前記端末装置に送信してから所定期間内に前記送信情報を受信した場合には、前記第1ファームウェアを前記第2ファームウェアに更新し、前記所定時間外に前記送信情報を受信した場合には、前記第1ファームウェアを前記第2ファームウェアに更新しない構成でもよい。 In addition, when the update control unit executes the first update process, the device transmits the transmission information within a predetermined period after the first transmission control unit transmits the transmission information to the terminal device. When received, the first firmware is updated to the second firmware, and when the transmission information is received outside the predetermined time, the first firmware may not be updated to the second firmware.
また、上記デバイスは、前記デバイス記憶部に記憶される前記第1ファームウェアから所定のハッシュ関数により第1ハッシュ値を算出する算出部と、前記第1ファームウェアに基づく第2ハッシュ値を外部から受信する第2受信制御部と、前記第1ハッシュ値と前記第2ハッシュ値とが一致する場合に、前記送信情報を生成する生成部と、をさらに備え、前記第1ハッシュ値と前記第2ハッシュ値とが一致しない場合に、前記第1送信制御部が前記送信情報を送信しない、構成でもよい。 In addition, the device receives a second hash value based on the first firmware and a calculation unit that calculates a first hash value from the first firmware stored in the device storage unit using a predetermined hash function. A second reception control unit; and a generation unit that generates the transmission information when the first hash value and the second hash value match, the first hash value and the second hash value The first transmission control unit may not transmit the transmission information when does not match.
また、本明細書によって開示される端末装置は、上記デバイスと接続される端末装置であって、前記第2ファームウェアを記憶する端末記憶部と、前記デバイス記憶部に記憶される前記第1ファームウェアが前記第1種のファームウェアであるか否かを判断する判断部と、前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアであることに応じて、前記デバイスに対し、前記第2ハッシュ値と前記第2ファームウェアとを送信し、前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアでないことに応じて、前記第2ハッシュ値を送信せずに前記第2ファームウェアを送信する、第2送信制御部と、を備える。 The terminal device disclosed in the present specification is a terminal device connected to the device, and includes a terminal storage unit that stores the second firmware, and the first firmware stored in the device storage unit. A determination unit that determines whether the firmware is the first type of firmware; and the first firmware determined by the determination unit is the first type of firmware, and the 2 hash values and the second firmware are transmitted, and when the first firmware determined by the determination unit is not the first type firmware, the second hash value is not transmitted and the second hash value is not transmitted. A second transmission control unit for transmitting firmware.
また、本明細書によって開示されるサーバは、上記端末装置と接続されるサーバであって、前記第1ファームウェアを含む複数のファームウェアの識別情報と、前記各ファームウェアに基づくハッシュ値と、を対応付けて記憶するハッシュ値記憶部と、前記端末装置から前記デバイス記憶部に記憶される前記第1ファームウェアの識別情報を受信する第3受信制御部と、前記ハッシュ記憶部から前記第1ファームウェアの識別情報に対応するハッシュ値を取得し、前記第2ハッシュ値として前記端末装置に送信する第3送信制御部と、を備える。 The server disclosed in this specification is a server connected to the terminal device, and associates identification information of a plurality of firmware including the first firmware with a hash value based on each firmware. A hash value storage unit that stores information, a third reception control unit that receives the identification information of the first firmware stored in the device storage unit from the terminal device, and the identification information of the first firmware from the hash storage unit A third transmission control unit that obtains a hash value corresponding to, and transmits the hash value to the terminal device as the second hash value.
また、本明細書によって開示される端末装置は、上記デバイスと接続される端末装置であって、前記第2ファームウェアを記憶する端末記憶部と、前記デバイス記憶部に記憶される前記第1ファームウェアが前記第1種のファームウェアであるか否かを判断する判断部と、前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアであることに応じて、前記デバイスに対し、前記送信情報と前記第2ファームウェアとを送信し、前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアでないことに応じて、前記送信情報を送信せずに前記第2ファームウェアを送信する、第4送信制御部と、を備える。 The terminal device disclosed in the present specification is a terminal device connected to the device, and includes a terminal storage unit that stores the second firmware, and the first firmware stored in the device storage unit. A determination unit that determines whether the firmware is the first type of firmware, and the transmission to the device in response to the first firmware determined by the determination unit being the first type of firmware. Information and the second firmware are transmitted, and the second firmware is transmitted without transmitting the transmission information in response to the fact that the first firmware determined by the determination unit is not the first type of firmware. And a fourth transmission control unit.
なお、この発明は、デバイス、制御装置、サーバ、これらの装置を備えた更新システム、更新方法、これらの装置またはシステムの機能または方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体等の種々の態様で実現することができる。 The present invention relates to a device, a control apparatus, a server, an update system provided with these apparatuses, an update method, a computer program for realizing the functions or methods of these apparatuses or systems, and a recording medium recording the computer program It can implement | achieve in various aspects, such as.
本発明によれば、端末装置からの送信情報を受信した場合にファームウェアを更新する第1更新処理と、送信情報の受信にかかわらずファームウェアを更新する第2更新処理とをファームウェアの種類に応じて切り替えて実行するため、ファームウェアの種類に応じて更新を制限することができる。 According to the present invention, the first update process for updating the firmware when the transmission information from the terminal device is received and the second update process for updating the firmware regardless of the reception of the transmission information are performed according to the type of firmware. Since switching is executed, updating can be restricted according to the type of firmware.
<実施形態1>
次に本発明の実施形態1について図1から図7を参照して説明する。
<Embodiment 1>
Next, Embodiment 1 of the present invention will be described with reference to FIGS.
(システムの構成)
図1は、ファームウェアの更新システムの構成を示すブロック図である。同図に示すように、このシステムは、プリンタ10と、端末装置30と、サーバ50とを備えている。
(System configuration)
FIG. 1 is a block diagram showing the configuration of a firmware update system. As shown in the figure, this system includes a
プリンタ10(デバイスの一例)は、CPU11、RAM12、EEPROM13、ネットワークインターフェース14、印刷部15、操作部16、及び表示部17を備えている。
The printer 10 (an example of a device) includes a
EEPROM13(デバイス記憶部の一例)は、書き換え可能な不揮発性のメモリであって、ファームウェア20と、更新制御プログラム21とを記憶している。ファームウェア20は、印刷機能などプリンタ10の主要な機能を実現するためのプログラムであり、更新制御プログラム21は、後述するようにファームウェア20を更新するためのプログラムである。CPU11(第1受信制御部、更新制御部、生成部、第1送信制御部、算出部、第2受信制御部の一例)は、EEPROM13からファームウェアまたは更新制御プログラム21をRAM12上に読み出して実行することにより、プリンタ10の各種動作を制御する。
The EEPROM 13 (an example of a device storage unit) is a rewritable nonvolatile memory, and stores
なお、以下の説明においては、ファームウェアの更新を行う前にEEPROM13に記憶されている(インストールされている)更新対象のファームウェアを第1ファームウェア20といい、ファームウェアの更新によって第1ファームウェア20に替えてEEPROM13に書き込まれる(インストールされる)更新用のファームウェアを第2ファームウェア60という(図1は、ファームウェアの更新前の状態を示している)。
In the following description, the firmware to be updated that is stored (installed) in the EEPROM 13 before updating the firmware is referred to as the
ネットワークインターフェース14は、LAN等のネットワーク回線70に接続されている。印刷部15は、端末装置30等から供給された印刷データに基づいて用紙等のシートに画像を印刷する。操作部16は、複数のボタンを備え、ユーザによる各種の指示の入力を受け付ける。表示部17は、ディスプレイやランプ等を備え、各種の設定画面や装置の動作状態等を表示する。
The
端末装置30は、汎用のクライアントコンピュータであって、CPU31、ROM32、RAM33、HDD(ハードディスクドライブ)34、ネットワークインターフェース35、操作部36、表示部37を備えている。
The
ROM32は、BIOS等のプログラムを記憶している。HDD34(端末記憶部の一例)は、OSや、プリンタドライバ、後述する更新管理処理等を実行する管理アプリケーション40(プログラムの一例)などを記憶している。CPU31(判断部、第2送信制御部、第4送信制御部、第5送信制御部の一例)は、ROM32やHDD34からRAM33上に読み出したプログラムに従って各部の制御を行う。
The
ネットワークインターフェース35は、既述のネットワーク回線70に接続されており、同じくネットワーク回線70に接続されたプリンタ10との間で通信が可能である。また、ネットワーク回線70は、図示しないルーターを介してインターネット71に接続されており、ネットワークインターフェース35は、同じくインターネット71に接続されたサーバ50との間で通信が可能である。
The
操作部36は、キーボードやポインティングデバイスを備えており、ユーザによる各種の指示の入力を受け付ける。表示部37は、ディスプレイを備え、CPU31の制御により様々な画像を表示する。
The
サーバ50は、サーバ用のコンピュータであって、CPU51、ROM52、RAM53、HDD54、ネットワークインターフェース55、操作部56、表示部57を備えている。HDD54(ハッシュ値記憶部の一例)は、サーバ用OSのほか、後に詳述するように、サーバメイン処理等を実行するサーバプログラム61や、ファームウェアの更新情報62、第2ファームウェア60を含む更新用ファームウェア63、ハッシュ値データ64、更新結果データ65等を記憶している。CPU51(第3受信制御部、第3送信制御部の一例)は、ROM52やHDD54からプログラムをRAM53上に読み出して各種の制御を行う。
The
(ファームウェアの更新動作)
次に本システムにおけるプリンタ10のファームウェアの更新動作について説明する。図2は、本システムにおけるファームウェアの更新動作の例を示すシーケンス図である。図3は、端末装置30において実行される更新管理処理のフローチャートであり、図4から図6は、プリンタ10において実行されるプリンタメイン処理のフローチャート、図7は、サーバ50において実行されるサーバメイン処理のフローチャートである。
(Firmware update operation)
Next, the firmware update operation of the
最初に端末装置30において、ユーザが操作部36から管理アプリケーション40の起動の指示を入力すると、CPU31は、管理アプリケーション40を起動する。なお、このとき、予め設定された管理者用のパスワードの入力をユーザに要求するようにしても良い。
First, in the
CPU31は、管理アプリケーション40を起動すると、ネットワークインターフェース35にネットワーク回線70を介して接続されたプリンタを検索する。そして、見つかったプリンタの中から管理アプリケーション40が対応する機種のプリンタを表示部37にリスト表示する。ユーザは、操作部36を用いてリストの中から更新管理処理を実行する対象のプリンタ(ここではプリンタ10)を選択し、更新管理処理の実行指示を入力する。この実行指示を受けてCPU31は、管理アプリケーション40の機能により図3に示す更新管理処理を実行する。
When the
CPU31は、更新管理処理を開始すると、まずネットワークインターフェース35を介してプリンタ10に対しファームウェア情報の要求を送信する(S101)。ファームウェア情報とは、ファームウェアを識別するための情報であって、ここでは、プリンタ10の機種名とファームウェア名とそのバージョンである。
When starting the update management process, the
一方、プリンタ10では、CPU11が更新制御プログラム21の機能により図4に示すプリンタメイン処理を繰り返し実行する。このプリンタメイン処理において、CPU11は、まずファームウェア情報の要求を受けたかを判断し(S201)、ファームウェア情報の要求を受けていない場合(S201:NO)にはプリンタメイン処理を終了する。また、ファームウェア情報の要求を受けた場合(S201:YES)には、ネットワークインターフェース14により端末装置30に第1ファームウェア20のファームウェア情報を送信する(S202)。
On the other hand, in the
端末装置30のCPU31は、図3のS101において、ネットワークインターフェース35を介してプリンタ10からファームウェア情報を受信すると、続いてサーバ50にログイン要求を送信する(S102)。このログイン要求には、例えば、管理アプリケーション40に予め設定されたログインユーザ名とパスワードとが含まれる。
When the
CPU31は、サーバ50からログイン要求の応答としてログイン成功通知を受けると、続いてプリンタ10のファームウェア情報をサーバ50に送信する(S103)。なお、サーバ50からログイン失敗通知を受信した場合には、ログインユーザ名及びパスワードをユーザに操作部36から入力させ、入力されたものを含んだログイン要求を再度送信してもよい。
Upon receiving a login success notification as a response to the login request from the
サーバ50のCPU51は、ログイン要求を受信したときにサーバプログラム61の機能によって図7に示すサーバメイン処理を実行する。CPU51は、サーバメイン処理において、まずログインが成功したか、即ちログインユーザ名及びパスワードが予め登録されたものと一致するか、を判断する(S501)。
The
そして、CPU51は、ログインに失敗した場合(S501:NO)には、ログイン失敗通知を端末装置30に送信し(S502)、このサーバメイン処理を終了する。ログインが成功した場合(S501:YES)には、ログイン成功通知を端末装置30に送信し(S503)、続いてプリンタ10から送信されるファームウェア情報を受信する(S504)。
If the login fails (S501: NO), the
ここで、HDD54には、更新情報62として、様々な機種のプリンタに対応する各種のファームウェアについて、その最新のバージョン(番号)を記録したテーブルが記憶されており、さらに更新用ファームウェア63として、それら各種のファームウェアの最新のバージョン(ファームウェアプログラム)が記憶されている。
Here, the
CPU51は、受信したファームウェア情報と更新情報62とから、第1ファームウェア20の新しいバージョンが存在するかを判断する(S505)。第1ファームウェア20の新しいバージョンが存在しない場合(S505:NO)には、更新不要通知を端末装置30に送信し(S506)、このサーバメイン処理を終了する。
The
ここで、HDD54には、ハッシュ値データ64として、更新用ファームウェア63に含まれるファームウェアの更新対象となる全てのバージョンのファームウェアについて、ファームウェア名、バージョン、ハッシュ値のデータが対応付けて記憶されている。ハッシュ値とは、任意の長さのデータからハッシュ関数を用いて算出される固定長のデータである。ハッシュ関数とは、ハッシュ値から元のデータを算出することが困難な一方向関数であり、MD5、SHA−1等が知られている。
Here, in the
ここでは、各ファームウェアのバイナリデータを所定のハッシュ関数に入力して得られたハッシュ値がハッシュ値データ64として記憶されている。例えば、ファームウェア名「AA001」の最新バージョンが「1.3」であって、その古いバージョン「1.0」「1.1」「1.2」が更新対象であるとすると、それら3つのバージョンのファームウェアからそれぞれ算出されたハッシュ値が記憶されている。
Here, a hash value obtained by inputting binary data of each firmware into a predetermined hash function is stored as
CPU51は、第1ファームウェア20の新しいバージョンが存在する場合(S505:YES)には、ハッシュ値データ64から第1ファームウェア20のハッシュ値を取得し、さらに更新用ファームウェア63から第1ファームウェア20の新バージョンである第2ファームウェア60を取得し、取得したハッシュ値及び第2ファームウェア60を端末装置30に送信し(S507)、このサーバメイン処理を終了する。以下、このときサーバ50から送信されたハッシュ値を第2ハッシュ値という。
When a new version of the
端末装置30のCPU31は、図3のS103において、サーバ50にファームウェア情報を送信した後、サーバ50から更新不要通知を受信した場合(S104:YES)には、第1ファームウェア20が最新バージョンであるため更新が不要である旨のメッセージを更新結果として表示部37に表示し(S105)、この更新管理処理を終了する。また、更新不要通知を受信しない場合(S104:NO)には、サーバ50から送信されるハッシュ値と第2ファームウェア60とを受信する(S106)。
When the
続いて、CPU31は、ファームウェアの更新の実行をユーザに確認させる実行確認画面を表示部37に表示する(S107)。そして、ユーザにより操作部36から更新の実行をキャンセルする指示が入力された場合(S107:NO)には、実行がキャンセルされた旨のメッセージを更新結果として表示部37に表示し(S105)、この更新管理処理を終了する。
Subsequently, the
また、CPU31は、更新を実行する指示が入力された場合(S107:YES)には、第1ファームウェア20が、更新の際に後述の更新ID(送信情報の一例)の必要な第1種のファームウェアか、更新IDの不要な第2種のファームウェアかを判断する(S108)。ここで、第2種のファームウェアは、標準のファームウェアであり、第1種のファームウェアは、標準のファームウェアに対し例えば印刷枚数を制限するなど特別な機能を加えた特殊なファームウェアである。
In addition, when an instruction to execute the update is input (S107: YES), the
なお、本プリンタ10に対しては、第1種のファームウェアと第2種のファームウェアとのいずれもインストール可能であって、製造時に仕様に応じて第1種と第2種のいずれか一方のファームウェアがインストールされる。
It should be noted that both the first type firmware and the second type firmware can be installed in the
各ファームウェアには、例えばファームウェア名に、そのファームウェアが第1種と第2種とのいずれであるかを識別するための識別子が付与されている。CPU31は、ファームウェア情報に含まれるファームウェア名の識別子から、第1ファームウェア20が第1種のファームウェアか第2種のファームウェアかを判断する。CPU31は、第1ファームウェア20が第1種のファームウェアである場合(S108:YES)には、プリンタ10に更新指令を送信し、続いてサーバ50から受け取った第2ハッシュ値を送信する(S109)。
For example, an identifier for identifying whether the firmware is the first type or the second type is assigned to each firmware, for example. The
一方、プリンタ10のCPU11は、図4のS202において、端末装置30にファームウェア情報を送信した後、端末装置30から更新指令を受信したかを判断し(S203)、受信していない場合(S203:NO)には、このプリンタメイン処理を終了する。更新指令を受信した場合(S203:YES)には、第1ファームウェア20が第1種のファームウェアか第2種のファームウェアかを、既述の端末装置30と同様に判断する(S204)。
On the other hand, after transmitting the firmware information to the
そして、CPU11は、第1ファームウェア20が第1種のファームウェアである場合(S204:YES)には、制限付き更新処理(第1更新処理、第3更新処理の一例)を実行する(S205)。
Then, when the
CPU11は、図5に示す制限付き更新処理において、まず端末装置30から更新指令に続いて送信される第2ハッシュ値を受信する(S301)。続いて、EEPROM13に記憶される第1ファームウェア20からハッシュ値(第1ハッシュ値)を算出する(S302)。このとき、ハッシュ関数として、サーバ50に記憶された第2ハッシュ値を算出するために用いられたハッシュ関数と同一のものを用いる。
In the restricted update process shown in FIG. 5, the
続いて、CPU11は、算出された第1ハッシュ値と、端末装置30から受信した第2ハッシュ値とを比較する(S303)。そして、両ハッシュ値が一致しない場合(S303:NO)には、更新不許可通知を端末装置30に送信し(S304)、ファームウェアの更新を行わずにこの制限付き更新処理を終了する。
Subsequently, the
また、CPU11は、第1ハッシュ値と第2ハッシュ値とが一致する場合(S303:YES)には、確認許可通知を端末装置30に送信する(S305)。続いて、CPU11は、プリンタ10を識別するための識別情報として、更新ID(送信情報の一例)を生成し、端末装置30に送信する(S306)。この更新IDは、例えば、プリンタ10のシリアル番号等のプリンタ10の固有値を用いて生成しても良く、あるいは乱数等を用いて生成してもよい。
Further, when the first hash value matches the second hash value (S303: YES), the
端末装置30のCPU31は、図3のS109にて、プリンタ10に第2ハッシュ値を送信した後、プリンタ10から更新許可通知を受けたかを判断し(S110)、更新不許可通知を受けた場合(S110:NO)には、更新が許可されなかった旨のメッセージを更新結果として表示部37に表示し(S105)、この更新管理処理を終了する。
When the
また、CPU31は、更新許可通知を受けた場合(S110:YES)には、続いてプリンタ10から送信される更新IDを受信する(S111)。続いて、CPU11は、受信した更新IDとともに第2ファームウェア60をプリンタ10に送信する(S112)。
Further, when receiving an update permission notification (S110: YES), the
一方、プリンタ10のCPU11は、図5のS306にて、更新IDを送信した後、端末装置30から第2ファームウェア60と更新IDとを受信したかを判断し(S307)、受信していない場合(S307:NO)には、更新IDの送信後から所定のタイムアウト時間が経過したかを判断する(S308)。
On the other hand, the
CPU11は、タイムアウト時間が経過していない場合(S308:NO)には、S307に戻って同様の処理を繰り返すことにより第2ファームウェア60及び更新IDの受信を待機する。第2ファームウェア及び更新IDを受信しないままタイムアウト時間が経過した場合(S308:YES)には、この制限付き更新処理を終了する。
If the time-out period has not elapsed (S308: NO), the
CPU11は、端末装置30から第2ファームウェア60と更新IDとを受信した場合(S307:YES)、受信した更新IDがS306にて送信した更新IDと一致するかを判断する(S309)。そして、両更新IDが互いに一致しない場合(S309:NO)には、更新失敗通知を端末装置30に送信し(S310)、この制限付き更新処理を終了する。
When receiving the
また、CPU11は、両更新IDが互いに一致する場合(S309:YES)には、EEPROM13に記憶されている第1ファームウェア20を第2ファームウェア60に書き換える(S311)。そして、更新完了通知を端末装置30に送信し(S312)、この制限付き更新処理を終了する。
If both update IDs match each other (S309: YES), the
端末装置30のCPU31は、図3のS108にて、第1ファームウェア20が第2種のファームウェアであると判断した場合(S108:NO)には、第2ファームウェア60をプリンタ10に送信する(S113)。即ち、この場合には、第2ハッシュ値及び更新IDが端末装置30からプリンタ10に送信されない。
If the
一方、プリンタ10のCPU11は、図4のS204にて第1ファームウェア20が第2種のファームウェアであると判断した場合(S204:NO)には、非制限更新処理(第2更新処理、第4更新処理の一例)を実行する(S206)。
On the other hand, if the
CPU11は、図6に示す非制限更新処理において、端末装置30から第2ファームウェアを受信したかを判断し(S401)、受信していない場合(S401:NO)には、この非制限更新処理を開始してから所定のタイムアウト時間が経過したかを判断する(S402)。タイムアウト時間が経過していない場合(S402:NO)には、S401に戻って同様の処理を繰り返すことにより、第2ファームウェアの受信を待機する。第2ファームウェアを受信する前にタイムアウト時間が経過した場合(S402:YES)には、この非制限更新処理を終了する。
The
CPU11は、第2ファームウェア60を受信した場合(S401:YES)には、その第2ファームウェア60が第1種のファームウェアであるか第2種のファームウェアであるかを判断する(S403)。受信した第2ファームウェア60が第1種のファームウェアである場合(S403:YES)には、何らかの事情で第1ファームウェア20と対応しないファームウェアを受信したと考えられる。このため、更新を行わずに、更新失敗通知を端末装置30に送信し(S404)、この非制限更新処理を終了する。
When receiving the second firmware 60 (S401: YES), the
また、CPU11は、第2ファームウェア60が第2種のファームウェアである場合(S403:NO)には、EEPROM13に記憶される第1ファームウェア20を第2ファームウェア60に書き換える(S405)。そして、更新完了通知を端末装置30に送信し(S406)、この非制限更新処理を終了する。なお、S403及びS404を省略し、第2ファームウェア60を受信した場合(S401:YES)に常にファームウェアの更新を行う(S405)ようにしてもよい。
Further, when the
端末装置30では、図3のS112またはS113にて第2ファームウェアをプリンタ10に送信した後、図5または図6のS310,S312,S404,またはS406におけるプリンタ10から更新結果(更新完了通知または更新失敗通知)を受信する(S114)。そして、その更新結果を第1ファームウェア20、第2ファームウェア60のファームウェア情報やプリンタ10の識別情報等とともにサーバ50に送信する(S115)。サーバ50のCPU51は、端末装置30から更新結果を受信すると、その更新結果を更新結果管理データ64に記録し、正常に記録できたか否かを示すOKまたはNGの情報を端末装置30に送信する。
The
端末装置30のCPU31は、サーバ50に更新結果を送信した後、プリンタ10から受信した更新結果に基づいて表示部37に更新の成功または失敗を表示部37に表示し(S105)、この更新管理処理を終了する。
After transmitting the update result to the
(実施形態1の効果)
以上のように本実施形態によれば、端末装置30からの更新IDを受信した場合にファームウェアを更新する制限付き更新処理(第1更新処理)と、更新IDの受信にかかわらずファームウェアを更新する非制限更新処理(第2更新処理)と、を第1ファームウェア20の種類に応じて切り替えて実行するため、ファームウェアの種類に応じて更新を制限することができる。第1ファームウェア20が第1種のファームウェアである場合には、その更新に更新IDが必要となるため、よりセキュリティ性を高めることができる。
(Effect of Embodiment 1)
As described above, according to the present embodiment, the limited update process (first update process) for updating the firmware when the update ID is received from the
また、更新IDがプリンタ10によって生成された認証情報であって、その更新IDを受信した場合にファームウェアを更新することによって、ファームウェアの更新の制限を行うことができる。例えば、プリンタ10が別の更新IDを受信したときにファームウェアが更新されることが防止される。
In addition, when the update ID is authentication information generated by the
また、制限付き更新処理を実行する際に、プリンタ10が更新IDを端末装置30に送信してから所定期間内に更新IDを受信した場合にファームウェアを更新し、所定期間外に受信した場合には更新しない。これにより、ファームウェアの更新のために更新IDを受信する期間が限定されるため、セキュリティ性をより高めることができる。
Further, when executing the limited update process, when the
また、第1ファームウェア20から算出した第1ハッシュ値と外部から受信した第2ハッシュ値とが一致しないと更新IDがプリンタ10から送信されないため、ファームウェアの更新が実行される条件を制限することができる。
In addition, if the first hash value calculated from the
即ち、第1ファームウェア20が第1種のファームウェアである場合に、第1ファームウェア20を更新するには、端末装置30がサーバ50から第2ファームウェア60とともに取得した第2ハッシュ値が必要になる。従って、第1ファームウェア20が、第1ファームウェア20と対応しない別の種類のファームウェアに書き換えられる可能性を低減できる。
That is, when the
また、端末装置30において、プリンタ10にインストールされた第1ファームウェア20が第1種のファームウェアか否かを判断し、第1種のファームウェアと判断した場合に第2ハッシュ値をプリンタ10に送信する。これにより、第1ファームウェアの種類に応じて、第2ハッシュ値がプリンタ10において更新のために必要な場合にのみ第2ハッシュ値を送信することができる。
Further, the
また、端末装置30において、プリンタ10にインストールされた第1ファームウェア20が第1種のファームウェアか否かを判断し、第1種のファームウェアと判断した場合に更新IDをプリンタ10に送信する。これにより、第1ファームウェアの種類に応じて、更新IDがプリンタ10において更新のために必要な場合にのみ更新IDを送信することができる。
Further, the
また、サーバ50において、複数のファームウェアの識別情報と、各ファームウェアのハッシュ値とを対応付けて記憶し、端末装置30から受信したファームウェア情報に対応する第2ハッシュ値を端末装置30に送信する。これにより、端末装置30が第2ハッシュ値を取得し、プリンタ10に送信することができる。
Further, the
<実施形態2>
次に本発明の実施形態2について図8及び図9を参照して説明する。
上記実施形態では、端末装置30の管理アプリケーション40によって、サーバ50から第2ファームウェア60及び第2ハッシュ値を取得して更新を行うものを示したが、本実施形態では、第2ファームウェア60や第2ハッシュ値をユーザが別途入手して更新を行うものを示す。
<Embodiment 2>
Next, a second embodiment of the present invention will be described with reference to FIGS.
In the above embodiment, the
(ファームウェアの更新動作)
図8は、本実施形態における更新管理処理のフローチャートであり、図9は、ファイル指定画面80を示す図である。
本実施形態におけるプリンタ10及び端末装置30の構成は、図1と同様であり、以下の説明において、図1と同一の構成には同一の符号を付して説明を省略する。なお、本実施形態では、サーバ50を設けなくてもよい。また、プリンタ10のCPU11は、図4から図6とほぼ同様の処理を実行するため、説明を省略する。
(Firmware update operation)
FIG. 8 is a flowchart of the update management process in the present embodiment, and FIG.
The configurations of the
端末装置30において、ユーザが管理アプリケーションを起動させ、プリンタ10のファームウェアの更新を指示すると、CPU31は、図8に示す手動更新処理を実行する。この手動更新処理により更新を行うには、ユーザが第2ファームウェア60と、必要に応じて第1ファームウェア20のハッシュ値とを用意する。第2ファームウェア60やハッシュ値は、サーバ50からダウンロードできるようにしても良く、CD−ROM等の記憶媒体に記録したものを配布してもよいが、少なくともハッシュ値については、管理権限のある者しか入手できないようにダウンロードや配布を制限することが望ましい。
In the
CPU31は、手動更新処理を開始すると、まずプリンタ10にファームウェア情報の要求を送信し、その応答として第1ファームウェア20のファームウェア情報を受信する(S601)。続いて、受信したファームウェア情報から第1ファームウェア20が第1種のファームウェアであるか第2種のファームウェアであるかを判断する(S602)。
When the manual update process is started, the
CPU31は、第1ファームウェア20が第1種のファームウェアである場合(S602:YES)には、図9に示す第1ファイル指定画面80を表示部37に表示する(S603)。この第1ファイル指定画面80は、第1種のファームウェアを更新するために必要なファイルを指定するための画面であって、ファームウェア指定部81、ハッシュ値指定部82、OKボタン83等を備えている。
When the
ファームウェア指定部81及びハッシュ値指定部82では、それぞれユーザが操作部36を用いて、ファームウェアファイル、ハッシュ値ファイルのアドレス(格納場所と名称)を指定することができる。これらのファイルの格納場所としては、例えば、HDD34上やネットワーク回線70に接続された他の端末装置や記憶媒体(図示せず)上のディレクトリを指定することができる。また、端末装置30に例えばUSBインターフェース(図示せず)を設けた場合に、そのUSBインターフェースに接続したUSBメモリ等の記憶媒体上を格納場所として指定してもよい。
In the
ユーザが上記2つのファイルのアドレスを指定した後、操作部36により第1ファイル指定画面80のOKボタン83をクリックすると、CPU31は、ハッシュ値指定部82で指定されたハッシュ値ファイルを読み込み、そのハッシュ値ファイルのハッシュ値を第2ハッシュ値として更新指令とともにプリンタ10に送信する(S604)。
After the user designates the addresses of the two files, when the
プリンタ10のCPU11は、既述のように、更新指令を受信し、第1ファームウェア20が第1種のファームウェアと判断すれば、第1ファームウェア20から算出した第1ハッシュ値と端末装置30から受信した第2ハッシュ値とが一致するかを判断する。そして、両者が一致する場合に更新許可通知を、一致しない場合に更新不許可通知を送信する(図4、図5)。
As described above, the
端末装置30のCPU31は、プリンタ10から更新不許可通知を受けた場合(S605:NO)には、更新が許可されなかった旨の更新結果を表示部37に表示して(S606)、この手動更新処理を終了する。また、更新許可通知を受けた場合(S605:YES)には、続いてプリンタ10から送信される更新IDを受信する(S607)。
When the
そして、CPU31は、ファームウェア指定部81で指定されるファームウェアファイルを読み込み、そのファームウェアファイルを第2ファームウェア60として更新IDとともにプリンタ10に送信する(S608)。
Then, the
また、CPU31は、S602において、第1ファームウェア20が第2種のファームウェアである場合(S602:NO)には、第2種のファームウェアを更新するために必要なファイルを指定する第2ファイル指定画面(図示せず)を表示部37に表示する(S609)。この第2ファイル指定画面は、前述の第1種のファームウェアを更新するための第1ファイル指定画面80からハッシュ値指定部82を除いたものであり、他は同様である。
Further, when the
ユーザがファームウェア指定部81にファームウェアファイルのアドレスを指定した後、操作部36により第2ファイル指定画面のOKボタン83をクリックすると、CPU31は、ファームウェア指定部81で指定されたファームウェアファイルを読み込み、そのファームウェアファイルを第2ファームウェア60として更新指令とともにプリンタ10に送信する(S610)。
After the user designates the address of the firmware file in the
S608またはS610にて、プリンタ10に第2ファームウェア60を送信した後、CPU31は、プリンタ10から送信される更新結果を受信し(S611)、更新結果を表示部37に表示し(S606)、この手動更新処理を終了する。
After transmitting the
(実施形態2の効果)
以上のように本実施形態によれば、第1ファームウェア20が第2種のファームウェアである場合には、第2ファームウェア60のみを用いて更新を行うことができるのに対し、第1ファームウェア20が第1種のファームウェアである場合には、第2ファームウェア60と第1ファームウェア20のハッシュ値とが必要になる。これにより、ファームウェアの種類に応じて更新を制限することができる。
(Effect of Embodiment 2)
As described above, according to the present embodiment, when the
即ち、第1種のファームウェアを更新する場合には、制限を加えることでセキュリティ性を高めることができ、第2種のファームウェアを更新する場合には、より簡易に行うことができる。 That is, when updating the first type of firmware, security can be improved by adding a restriction, and when updating the second type of firmware, it can be performed more easily.
また、端末装置30がサーバ50に接続されていない環境でもファームウェアの更新を実行することができる。
The firmware can be updated even in an environment where the
<他の実施形態>
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
<Other embodiments>
The present invention is not limited to the embodiments described with reference to the above description and drawings. For example, the following embodiments are also included in the technical scope of the present invention.
(1)上記実施形態では、端末装置30からプリンタ10に第2ファームウェア60を送信するものを示したが、本発明によれば、プリンタ10に例えばUSBメモリやメモリカード等の可搬記憶媒体を接続可能なインターフェースを設けて、そこに第2ファームウェア60を記憶した可搬記憶媒体を接続し、CPU11が、端末装置30から送信情報を受信したことに応じて可搬記憶媒体から第2ファームウェア60を読み出して、第1ファームウェア20を第2ファームウェア60に書き換えてもよい。尚、この場合も、第1のファームウェアが第1種のファームウェアであるときは、上記実施形態と同様にハッシュ値が必要である。
(1) In the above embodiment, the
(2)上記実施形態では、プリンタ10及び端末装置30の両方で第1ファームウェア20が第1種のファームウェアであるかを判断するものを示したが、端末装置30ではファームウェアの種類を判断しない構成としてもよい。この場合、例えば、端末装置30から第1ファームウェアの種類にかかわらずプリンタ10にハッシュ値を送信し、プリンタ10側で受信したハッシュ値から更新IDを生成するか否かを切り替える構成としてもよい。
(2) In the above embodiment, the
また、サーバ50において、CPU51がファームウェア情報から第1ファームウェア20が第1種か第2種かを判断し、第1種である場合にのみハッシュ値を端末装置30に送信する構成としてもよい。
In the
また、プリンタ10及び端末装置30のうちいずれか一方のCPU(11または31)が第1ファームウェアの種類を判断して、その判断結果を他方側に伝達し、他方側のCPU(11または31)は、その判断結果に従って動作を行ってもよい。
Also, either the CPU (11 or 31) of the
(3)上記実施形態では、第1種のファームウェアを更新するための送信情報として、プリンタ10が生成した更新IDを用いるものを示したが、本発明によれば、デバイスが生成していない送信情報を用いてもよく、例えば、デバイスに予め記憶された所定の識別情報を含む情報を送信情報としてもよい。また、端末装置30やサーバ50にデバイスに対応しデバイスを識別するための識別情報を記憶しておき、それを送信情報としてデバイスに送信してもよい。
(3) In the above embodiment, as the transmission information for updating the first type firmware, the information using the update ID generated by the
(4)上記実施形態では、1台のプリンタ10に対してファームウェアの更新を行うものを示したが、端末装置30から複数台のプリンタの更新を行うようにしてもよい。例えば、端末装置30のCPU31が、1台のプリンタ10の更新の際にサーバ50から取得したファームウェアやハッシュ値をHDD34に記憶しておき、同じファームウェアまたはハッシュ値を適用できる他のプリンタの更新を行う際には、それらを再度サーバ50から取得せずに、HDD34から読み出して各プリンタに送信するようにしてもよい。但し、ファームウェアの更新を終了した後は、HDD34からハッシュ値を消去することが望ましい。
(4) In the above embodiment, the firmware update for one
(5)上記実施形態では、プリンタ10において、第1受信制御部、更新制御部、生成部、第1送信制御部、算出部、第2受信制御部をいずれも同じCPU11によって実現するものを示したが、本発明によれば、これらは、互いに別のCPU、若しくはASICやその他の回路によって構成することができる。
(5) In the above embodiment, in the
同様に、上記実施形態では、端末装置30において、判断部、第2送信制御部、第4送信制御部、第5送信制御部をいずれも同じCPU31によって実現し、サーバ50において、第3受信制御部、第3送信制御部をいずれも同じCPU51によって実現するものを示したが、これらは、それぞれ互いに別のCPU、若しくはASICやその他の回路によって構成することができる。
Similarly, in the above-described embodiment, in the
(6)上記実施形態では、プリンタのファームウェアを更新する例を示したが、本発明は、例えば、スキャナ装置、ファクシミリ装置、デジタルカメラなどの各種のデバイスのファームウェアを更新する技術に適用することができる。 (6) In the above embodiment, an example of updating the firmware of the printer has been shown. However, the present invention can be applied to a technique for updating the firmware of various devices such as a scanner device, a facsimile device, and a digital camera. it can.
(7)上記実施形態では、端末装置30でプリンタ10のファームウェアが第1種ファームウェアであるか第2種ファームウェアであるかを判断して、その判断結果に応じて、プリンタ10に送信する情報を切り替えている。端末装置30は、プリンタのファームウェアの種別を判断しなくてもよい。端末装置30は、プリンタ10のファームウェアの種別にかかわらず、プリンタ10に第2ファームウェアと第2ハッシュ値や更新IDを送信すればよい。
(7) In the above embodiment, the
プリンタ10は、端末装置30から第2ファームウェア等を受信すると、インストールされているファームウェアが第1種ファームウェアであるか第2種のファームウェアであるかを判断し、判断の結果、第1種ファームウェアであれば、受信した第2ハッシュ値や更新IDに基づく判断結果に応じて、受信した第2ファームウェアに更新するかを決定してもよい。
Upon receiving the second firmware or the like from the
(8)更新IDは、プリンタ10の固有値と時刻情報を用いて生成したワンタイムパスワードであってもよい。例えば、端末装置30からユーザの操作により所定のタイミングにてファームウェアが更新できる場合であっても、プリンタ10に更新IDと第2ファームウェアとを送信すべきタイミングにて過去に取得した更新IDを第2ファームウェアとともに送信した場合であっても、適切にファームウェアの更新を制限することができる。
(8) The update ID may be a one-time password generated using the unique value of the
10…プリンタ、11…CPU、13…EEPROM、20…第1ファームウェア、30…端末装置、31…CPU、34…HDD34、40…管理アプリケーション、50…サーバ、51…CPU、54…HDD、60…第2ファームウェア
DESCRIPTION OF
Claims (10)
当該デバイスにインストールされている第1ファームウェアを記憶するデバイス記憶部と、
前記端末装置から送信される送信情報を受信する第1受信制御部と、
前記第1ファームウェアが、更新の際に前記送信情報の必要な第1種のファームウェアである場合に、前記第1受信制御部が前記送信情報を受信したことに応じて前記デバイス記憶部に記憶される前記第1ファームウェアを第2ファームウェアに更新する第1更新処理と、前記第1ファームウェアが、更新の際に前記送信情報の不要な第2種のファームウェアである場合に、前記第1受信制御部が前記送信情報を受信したかにかかわらず前記第1ファームウェアを前記第2ファームウェアに更新する第2更新処理と、を実行する更新制御部と、
を備えるデバイス。 A device connected to a terminal device,
A device storage unit for storing the first firmware installed in the device;
A first reception control unit for receiving transmission information transmitted from the terminal device;
When the first firmware is the first type of firmware that requires the transmission information at the time of update, the first reception control unit stores the transmission information in response to the reception of the transmission information. A first update process for updating the first firmware to a second firmware, and the first reception control unit when the first firmware is a second type of firmware that does not require transmission information at the time of update. An update control unit that executes a second update process for updating the first firmware to the second firmware regardless of whether the transmission information is received;
A device comprising:
前記送信情報は、当該デバイスを識別するための識別情報であり、
前記送信情報を前記端末装置に送信する第1送信制御部と、
をさらに備えるデバイス。 The device of claim 1, comprising:
The transmission information is identification information for identifying the device,
A first transmission control unit for transmitting the transmission information to the terminal device;
A device further comprising:
前記更新制御部は、前記第1更新処理を実行する際に、前記第1送信制御部が前記送信情報を前記端末装置に送信してから所定期間内に前記送信情報を受信した場合には、前記第1ファームウェアを前記第2ファームウェアに更新し、前記所定時間外に前記送信情報を受信した場合には、前記第1ファームウェアを前記第2ファームウェアに更新しない、デバイス。 The device of claim 2, comprising:
The update control unit, when executing the first update process, when the first transmission control unit receives the transmission information within a predetermined period after the transmission information is transmitted to the terminal device, A device that updates the first firmware to the second firmware and does not update the first firmware to the second firmware when the transmission information is received outside the predetermined time.
前記デバイス記憶部に記憶される前記第1ファームウェアから所定のハッシュ関数により第1ハッシュ値を算出する算出部と、
前記第1ファームウェアに基づく第2ハッシュ値を外部から受信する第2受信制御部と、
前記第1ハッシュ値と前記第2ハッシュ値とが一致する場合に、前記送信情報を生成する生成部と、
をさらに備え、
前記第1ハッシュ値と前記第2ハッシュ値とが一致しない場合に、前記第1送信制御部が前記送信情報を送信しない、デバイス。 A device according to claim 2 or claim 3, wherein
A calculation unit that calculates a first hash value from the first firmware stored in the device storage unit using a predetermined hash function;
A second reception control unit for receiving a second hash value based on the first firmware from the outside;
A generator that generates the transmission information when the first hash value and the second hash value match;
Further comprising
A device in which the first transmission control unit does not transmit the transmission information when the first hash value and the second hash value do not match.
前記第2ファームウェアを記憶する端末記憶部と、
前記デバイス記憶部に記憶される前記第1ファームウェアが前記第1種のファームウェアであるか否かを判断する判断部と、
前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアであることに応じて、前記デバイスに対し、前記第2ハッシュ値と前記第2ファームウェアとを送信し、前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアでないことに応じて、前記第2ハッシュ値を送信せずに前記第2ファームウェアを送信する、第2送信制御部と、
を備える端末装置。 A terminal device connected to the device according to claim 4,
A terminal storage unit for storing the second firmware;
A determination unit that determines whether or not the first firmware stored in the device storage unit is the first type firmware;
When the first firmware determined by the determination unit is the first type of firmware, the second hash value and the second firmware are transmitted to the device, and the determination unit determines A second transmission control unit that transmits the second firmware without transmitting the second hash value in response to the first firmware being not the first type firmware;
A terminal device comprising:
前記第1ファームウェアを含む複数のファームウェアの識別情報と、前記各ファームウェアに基づくハッシュ値と、を対応付けて記憶するハッシュ値記憶部と、
前記端末装置から前記デバイス記憶部に記憶される前記第1ファームウェアの識別情報を受信する第3受信制御部と、
前記ハッシュ値記憶部から前記第1ファームウェアの識別情報に対応するハッシュ値を取得し、前記第2ハッシュ値として前記端末装置に送信する第3送信制御部と、
を備えるサーバ。 A server connected to the terminal device according to claim 5,
A hash value storage unit that stores identification information of a plurality of firmware including the first firmware and a hash value based on each firmware in association with each other;
A third reception control unit for receiving identification information of the first firmware stored in the device storage unit from the terminal device;
A third transmission control unit that acquires a hash value corresponding to the identification information of the first firmware from the hash value storage unit and transmits the hash value to the terminal device as the second hash value;
A server comprising
前記第2ファームウェアを記憶する端末記憶部と、
前記デバイス記憶部に記憶される前記第1ファームウェアが前記第1種のファームウェアであるか否かを判断する判断部と、
前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアであることに応じて、前記デバイスに対し、前記送信情報と前記第2ファームウェアとを送信し、前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアでないことに応じて、前記送信情報を送信せずに前記第2ファームウェアを送信する、第4送信制御部と、
を備える端末装置。 A terminal device connected to the device according to any one of claims 1 to 3,
A terminal storage unit for storing the second firmware;
A determination unit that determines whether or not the first firmware stored in the device storage unit is the first type firmware;
When the first firmware determined by the determination unit is the first type of firmware, the transmission information and the second firmware are transmitted to the device, and the determination unit determines A fourth transmission control unit that transmits the second firmware without transmitting the transmission information in response to the first firmware not being the first type firmware;
A terminal device comprising:
前記デバイスにインストールされる第1ファームウェアが、更新の際に送信情報の必要な第1種のファームウェアであるか否かを判断する判断ステップと、
前記判断された第1ファームウェアが前記第1種のファームウェアであることに応じて、第1更新方法を実行し、前記判断された第1ファームウェアが前記第1種のファームウェアでないことに応じて、第2更新方法を実行する、実行ステップと、
を有し、
前記第1更新方法は、
前記第1ファームウェアから所定のハッシュ関数により第1ハッシュ値を算出する算出ステップと、
前記端末装置から前記第1ファームウェアに基づく第2ハッシュ値を前記デバイスに送信する第1送信ステップと、
前記第1ハッシュ値と前記第2ハッシュ値とが一致する場合に前記デバイスを識別するための識別情報である前記送信情報を生成する生成ステップと、
前記送信情報を前記端末装置に送信する第2送信ステップと、
前記端末装置から前記送信情報と第2ファームウェアとを前記デバイスに送信する第3送信ステップと、
前記デバイスにおいて前記送信情報を受信した場合に前記第1ファームウェアを前記第2ファームウェアに更新する第1更新ステップと、
を有し、
前記第2更新方法は、
前記端末装置から前記第2ファームウェアを前記デバイスに送信する第4送信ステップと、
前記端末装置から前記送信情報を受信したかにかかわらず前記第1ファームウェアを前記第2ファームウェアに更新する第2更新ステップと、
を有する、ファームウェアの更新方法。 A method for updating firmware of a device connected to a terminal device,
A determination step of determining whether or not the first firmware installed in the device is the first type of firmware that requires transmission information at the time of update;
A first update method is executed in response to the determined first firmware being the first type firmware, and in response to the determined first firmware not being the first type firmware, 2 execution step of executing the update method;
Have
The first update method includes:
A calculation step of calculating a first hash value from the first firmware by a predetermined hash function;
A first transmission step of transmitting a second hash value based on the first firmware from the terminal device to the device;
Generating the transmission information, which is identification information for identifying the device when the first hash value and the second hash value match;
A second transmission step of transmitting the transmission information to the terminal device;
A third transmission step of transmitting the transmission information and second firmware from the terminal device to the device;
A first update step of updating the first firmware to the second firmware when the device receives the transmission information;
Have
The second update method includes:
A fourth transmission step of transmitting the second firmware from the terminal device to the device;
A second update step of updating the first firmware to the second firmware regardless of whether the transmission information is received from the terminal device;
A method for updating firmware, comprising:
前記デバイスは、前記第1ファームウェアから所定のハッシュ関数により算出される第1ハッシュ値と前記端末装置から受信した第2ハッシュ値とが一致する場合に識別情報である送信情報を前記端末装置に送信し、その後、前記第1ファームウェアが、更新の際に前記送信情報の必要な第1種のファームウェアである場合に、前記第2ファームウェアと前記送信情報とを受信したことに応じて前記第1ファームウェアを更新する第3更新処理と、前記第1ファームウェアが、更新の際に前記送信情報の不要な第2種のファームウェアである場合に、前記第2ファームウェアを受信したことに応じて前記送信情報を受信したかにかかわらず前記第1ファームウェアを更新する第4更新処理と、を実行するものであって、
前記第1ファームウェアが前記第1種のファームウェアであるか否かを判断する判断部と、
前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアであることに応じて、前記デバイスに対し、前記第2ハッシュ値を送信して返信された前記送信情報と前記第2ファームウェアとを送信し、前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアでないことに応じて、前記第2ハッシュ値を送信せずに前記第2ファームウェアを送信する、第5送信制御部と、
を備えた端末装置。 A terminal device connected to a device and causing the first firmware installed in the device to be updated to the second firmware,
The device transmits transmission information, which is identification information, to the terminal device when a first hash value calculated from the first firmware by a predetermined hash function matches a second hash value received from the terminal device. Then, when the first firmware is the first type of firmware that needs the transmission information at the time of update, the first firmware is received in response to receiving the second firmware and the transmission information. A third update process for updating the transmission information, and when the first firmware is a second type of firmware that does not require the transmission information at the time of update, the transmission information A fourth update process for updating the first firmware regardless of whether it has been received,
A determination unit for determining whether the first firmware is the first type firmware;
In response to the fact that the first firmware determined by the determination unit is the first type of firmware, the transmission information and the second firmware sent back to the device by transmitting the second hash value And transmitting the second firmware without transmitting the second hash value in response to the fact that the first firmware determined by the determination unit is not the first type of firmware. A control unit;
A terminal device comprising:
前記デバイスは、前記第1ファームウェアから所定のハッシュ関数により算出される第1ハッシュ値と前記端末装置から受信した第2ハッシュ値とが一致する場合に識別情報である送信情報を前記端末装置に送信し、その後、前記第1ファームウェアが、更新の際に前記送信情報の必要な第1種のファームウェアである場合に、前記第2ファームウェアと前記送信情報とを受信したことに応じて前記第1ファームウェアを更新する第3更新処理と、前記第1ファームウェアが、更新の際に前記送信情報の不要な第2種のファームウェアである場合に、前記第2ファームウェアを受信したことに応じて前記送信情報を受信したかにかかわらず前記第1ファームウェアを更新する第4更新処理と、を実行するものであって、
前記端末装置に、
前記第1ファームウェアが前記第1種のファームウェアであるか否かを判断する判断処理と、
前記判断処理で判断された前記第1ファームウェアが前記第1種のファームウェアであることに応じて、前記デバイスに対し、前記第2ハッシュ値を送信して返信された前記送信情報と前記第2ファームウェアとを送信し、前記判断処理で判断された前記第1ファームウェアが前記第1種のファームウェアでないことに応じて、前記第2ハッシュ値を送信せずに前記第2ファームウェアを送信する、送信制御処理と、
を実行させるプログラム。 A program for updating the first firmware installed in the device by the terminal device connected to the device to the second firmware,
The device transmits transmission information, which is identification information, to the terminal device when a first hash value calculated from the first firmware by a predetermined hash function matches a second hash value received from the terminal device. Then, when the first firmware is the first type of firmware that needs the transmission information at the time of update, the first firmware is received in response to receiving the second firmware and the transmission information. A third update process for updating the transmission information, and when the first firmware is a second type of firmware that does not require the transmission information at the time of update, the transmission information A fourth update process for updating the first firmware regardless of whether it has been received,
In the terminal device,
A determination process for determining whether the first firmware is the first type firmware;
In response to the fact that the first firmware determined in the determination process is the first type of firmware, the transmission information and the second firmware sent back to the device by transmitting the second hash value And the second firmware is transmitted without transmitting the second hash value in response to the fact that the first firmware determined in the determination process is not the first type firmware. When,
A program that executes
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010288343A JP5472086B2 (en) | 2010-12-24 | 2010-12-24 | Device, terminal device, server, program, and firmware update method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010288343A JP5472086B2 (en) | 2010-12-24 | 2010-12-24 | Device, terminal device, server, program, and firmware update method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012137849A JP2012137849A (en) | 2012-07-19 |
JP5472086B2 true JP5472086B2 (en) | 2014-04-16 |
Family
ID=46675234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010288343A Active JP5472086B2 (en) | 2010-12-24 | 2010-12-24 | Device, terminal device, server, program, and firmware update method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5472086B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6429455B2 (en) * | 2013-12-03 | 2018-11-28 | キヤノン株式会社 | Image forming apparatus, control method therefor, and program |
JP6351245B2 (en) * | 2013-12-03 | 2018-07-04 | キヤノン株式会社 | Image forming apparatus, control method therefor, and program |
JP6429502B2 (en) * | 2014-06-06 | 2018-11-28 | キヤノン株式会社 | Management system and method |
JP2016218664A (en) * | 2015-05-19 | 2016-12-22 | 株式会社東芝 | Protection controller software change device, change program and protection controller |
JP6962252B2 (en) * | 2018-03-23 | 2021-11-05 | 株式会社オートネットワーク技術研究所 | Program update system, program update method and computer program |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3550834B2 (en) * | 1995-11-13 | 2004-08-04 | 株式会社デンソー | Memory rewriting system for vehicle electronic control unit, vehicle electronic control unit and memory rewriting device |
US7000230B1 (en) * | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
JP4758041B2 (en) * | 2001-09-14 | 2011-08-24 | 株式会社リコー | Information processing device |
JP2004287852A (en) * | 2003-03-20 | 2004-10-14 | Toshiba Solutions Corp | Upgrading method of software, and computer program |
JP2006099184A (en) * | 2004-09-28 | 2006-04-13 | Fuji Xerox Co Ltd | Information processor and information processing system using it |
JP2009053901A (en) * | 2007-08-27 | 2009-03-12 | Seiko Epson Corp | Printer |
JP2010198332A (en) * | 2009-02-25 | 2010-09-09 | Canon Inc | Firmware update device, firmware update system, firmware update method, and firmware update program |
-
2010
- 2010-12-24 JP JP2010288343A patent/JP5472086B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012137849A (en) | 2012-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010178077A (en) | Access restricted file and restricted file creating apparatus | |
JP6771991B2 (en) | Printing device, control method of printing device, and program | |
JP6117165B2 (en) | Image forming apparatus, image forming system, and job management program | |
JP2009143081A (en) | Image forming apparatus and image forming program | |
JP5826198B2 (en) | Image forming system, image forming apparatus, and program | |
JP5472086B2 (en) | Device, terminal device, server, program, and firmware update method | |
JP2004303210A (en) | File generating method, server, computer terminal, recording medium, information processor, and program adding system | |
JP2022179719A (en) | Information processing device, control method for the same, and program | |
JP2007109211A (en) | Printing system | |
JP4822084B2 (en) | Secure print setting program and secure print setting method | |
JP2011008386A (en) | Information processing system, peripheral device and program | |
JP4419977B2 (en) | Program creation device and program | |
JP2018049552A (en) | Information processing apparatus, information processing method, and program | |
JP6147240B2 (en) | Information processing apparatus, method of controlling the apparatus, and program | |
JP2011154473A (en) | Program, image forming apparatus and installation method | |
JP2007312335A (en) | Image transmission system | |
JP5573411B2 (en) | Image forming apparatus, program, and installation method | |
JP6529376B2 (en) | PRINTING APPARATUS, ITS CONTROL METHOD, AND PROGRAM | |
US20200106921A1 (en) | Information processing apparatus, image forming system, and nontransitory recording medium | |
JP2010228198A (en) | Image forming apparatus, alternative image forming apparatus, printing system, and printing method | |
JP2007122161A (en) | Information processor, setting changing method and setting changing program | |
JP6188664B2 (en) | Image forming system | |
JP2014160390A (en) | Output control device, output system and program | |
JP2019159971A (en) | Equipment system, job processing method, information processing device, and program | |
JP2010009604A (en) | Installing data generation device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130325 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131128 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131205 |
|
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: 20140107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140120 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5472086 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |