JP2006178544A - Data processor and program update method therefor - Google Patents
Data processor and program update method therefor Download PDFInfo
- Publication number
- JP2006178544A JP2006178544A JP2004368525A JP2004368525A JP2006178544A JP 2006178544 A JP2006178544 A JP 2006178544A JP 2004368525 A JP2004368525 A JP 2004368525A JP 2004368525 A JP2004368525 A JP 2004368525A JP 2006178544 A JP2006178544 A JP 2006178544A
- Authority
- JP
- Japan
- Prior art keywords
- program
- cpu
- data
- program update
- update data
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
Description
本発明は、複数のCPUを有し、これら複数のCPUにより制御されるデータ処理装置及びそのプログラム更新方法に関するものである。 The present invention relates to a data processing apparatus having a plurality of CPUs and controlled by the plurality of CPUs, and a program updating method thereof.
複数のCPUを用いて処理を行うマルチCPU構成のコンピュータ機器において、各CPUで実行されるプログラムを更新するためにプログラム更新用データを外部から供給することにより、プログラムの更新を行う技術が提案されている(特許文献1)。これによれば、その供給されたプログラム更新用データがどのCPU用のプログラムであるかを判定し、その判定結果に基づいてその動作プログラムを更新する必要がある。このような更新対象のプログラムを実行するCPUを検知する方法として、マルチCPU全体を統括しているコントローラCPUが、そのプログラム更新用データに含まれているCPU識別子により、どのCPU用の更新用データであるかを判断し、その更新用データを対応するCPUに送信することが記載されている。具体的には、コントローラCPUは、プログラム更新データを供給する外部の更新データ出力装置から出力されたプログラム更新データの所定の位置に格納されているCPU指定番号と、そのCPU指定番号に対応するプログラム更新用データの本体アドレス情報とに基づいて、そのプログラム更新用データ本体を読み出し、その指定番号に対応するCPUに送信して、そのCPUのプログラムの更新作業を行っている。
しかしながら上記従来例では、そのCPU指定番号に基づいて、対応するCPUがどれであるかを判断しているため、プログラム更新用データに対する正当性の確認まではなされていない。このため例えば、プログラム更新用データの欠損或は破壊、又は第3者による捏造等によって、送信先及びプログラム更新用データそのものが不正となっている場合には、そのプログラム更新用データによりCPUのプログラムを更新すると、システムが誤動作したり動作不能になるという虞がある。 However, in the above conventional example, since the corresponding CPU is determined based on the CPU designation number, the validity of the program update data has not been confirmed. For this reason, for example, if the transmission destination and the program update data itself are illegal due to the loss or destruction of the program update data, or the forgery by a third party, the program of the CPU is updated with the program update data. Updating may cause the system to malfunction or become inoperable.
本発明は上記問題点に鑑みてなされたもので、外部より供給される、暗号化されたプログラム更新用データを復号して認証し、その認証したプログラムによりCPUにより実行されるプログラムを更新するデータ処理装置及びそのプログラム更新方法を提供することにある。 The present invention has been made in view of the above problems, and decrypts and authenticates encrypted program update data supplied from the outside, and updates the program executed by the CPU with the authenticated program. A processing apparatus and a program update method thereof are provided.
本発明の一態様に係るデータ処理装置は以下のような構成を備える。即ち、
互いにデータの送受信が可能な複数のCPUを有するデータ処理装置であって、
外部より供給される、暗号化されたヘッダ及びプログラムを含むプログラム更新用データを受信する受信手段と、
前記受信手段により受信された前記プログラム更新用データのヘッダを復号及び認証して前記プログラムの供給先のCPUを特定し、特定された前記CPUに前記暗号化されたプログラムを供給する供給手段とを有し、
前記供給先のCPUは、
前記供給手段により供給された前記暗号化されたプログラムを復号及び認証する復号認証手段と、
前記復号認証手段により認証されたプログラムを用いて当該CPUのプログラムを更新することを特徴とする。
A data processing apparatus according to an aspect of the present invention has the following configuration. That is,
A data processing apparatus having a plurality of CPUs capable of transmitting and receiving data to and from each other,
Receiving means for receiving program update data including an encrypted header and a program supplied from the outside;
Supply means for decrypting and authenticating the header of the program update data received by the receiving means to identify a CPU to which the program is supplied and supplying the encrypted program to the identified CPU; Have
The supply destination CPU is:
Decryption authentication means for decrypting and authenticating the encrypted program supplied by the supply means;
The program of the CPU is updated using the program authenticated by the decryption authentication means.
本発明の一態様に係るデータ処理装置におけるプログラム更新方法は以下のような工程を備える。即ち、
互いにデータの送受信が可能な複数のCPUを有するデータ処理装置におけるプログラム更新方法であって、
外部より供給される、暗号化されたヘッダ及びプログラムを含むプログラム更新用データを受信する受信工程と、
前記受信工程で受信された前記プログラム更新用データのヘッダを復号及び認証して前記プログラムの供給先のCPUを特定し、特定された前記CPUに前記暗号化されたプログラムを供給する供給工程とを有し、
前記供給工程により供給された前記暗号化されたプログラムを復号及び認証する復号認証工程と、
前記復号認証工程で認証されたプログラムを用いて当該CPUのプログラムを更新することを特徴とする。
A program update method in a data processing apparatus according to an aspect of the present invention includes the following steps. That is,
A program update method in a data processing apparatus having a plurality of CPUs capable of transmitting and receiving data to and from each other,
A receiving step of receiving program update data including an encrypted header and a program supplied from the outside;
A supply step of decrypting and authenticating the header of the program update data received in the reception step to identify a CPU to which the program is supplied, and supplying the encrypted program to the identified CPU; Have
A decryption authentication step for decrypting and authenticating the encrypted program supplied by the supply step;
The program of the CPU is updated using the program authenticated in the decryption authentication step.
本発明によれば、不正なプログラムによりCPUのプログラムが更新されることによる誤動作の発生や動作不良の発生を防止できるという効果がある。 According to the present invention, it is possible to prevent the occurrence of malfunctions and malfunctions caused by updating the CPU program by an unauthorized program.
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。 DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
図1は、本発明の実施の形態に係るプログラム更新機能を有するマルチCPUシステムの構成を示すブロック図である。尚、このようなマルチCPUシステムは、例えばコンピュータ機器(PC)等のような情報処理装置、またはレーザビームプリンタやインクジェットプリンタなどの画像形成装置、通信装置、複写機、複写機能に通信機能等を備えた多機能複合機などの制御回路として採用される。 FIG. 1 is a block diagram showing a configuration of a multi-CPU system having a program update function according to an embodiment of the present invention. Such a multi-CPU system has an information processing apparatus such as a computer device (PC), an image forming apparatus such as a laser beam printer or an ink jet printer, a communication apparatus, a copying machine, a communication function in a copying function, and the like. It is used as a control circuit for multi-function multifunction devices.
図1において、プログラム更新用データ出力装置(以下、更新用データ出力装置)101は、マルチCPUシステムのCPUのプログラム更新用データを供給する。コントローラCPUボード102は、このマルチCPUシステムに供給されるプログラム更新用データの受信及び、その更新結果を報告する処理を行っている。このコントローラCPUボード102は更新用データ出力装置101と接続され、この更新用データ出力装置101から供給されるプログラム更新用データを受信し、このマルチCPUシステムを構成するSUBCPUボードの対応するSUBCPUに、そのプログラム更新用データを供給する。ここでは具体的には、コントローラCPUボード102に最も隣接しているSUBCPUボードシステム103のSUBCPUボード104のSUBCPU1(191)に、そのプログラム更新用データを供給する。
In FIG. 1, a program update data output device (hereinafter, update data output device) 101 supplies program update data for a CPU of a multi-CPU system. The
SUBCPUボードシステム103は、このマルチCPUシステムを構成している複数のSUBCPUボード104,105を有し、各SUBCPUボードによる制御処理を実行している。このSUBCPUボードシステム103は、コントローラCPUボード102から供給されるプログラム更新用データに従って、それぞれ対応するSUBCPUボード104,105において、SUBCPUの動作プログラムを更新することができる。尚、SUBCPUボード104は、シリアル通信制御部112によってコントローラCPU102との間でデータの送受信を行うことができ、シリアル通信制御部111によりSUBCPUボード105のシリアル通信制御部116との間でデータの送受信を行うことができる。尚、ここでは1つのSUBCPUボードシステム103のみを示しているが、これ以外のSUBCPUボードシステムが設けられていても良く、また1つのSUBCPUボードシステムは、1つ或はそれ以上のSUBCPUボードを有していても良い。
The SUBCPU
以下、各部の構成を説明する。 Hereinafter, the configuration of each unit will be described.
コントローラCPUボード102は、このボード102全体の制御を司るコントローラCPU106、このCPU106により実行されるプログラムを記憶しているメモリ106a、更新用データ出力装置101との間でデータの送受信を行う通信制御部107、SUBCPUボードシステム103との間でのデータのやり取りを行うシリアル通信制御部108を備えている。
The
SUBCPUボード104は、このボード104全体の制御を司るSUBCPU1(109)、このSUBCPU1(109)により実行されるプログラムを記憶している不揮発メモリ113、SUBCPU1(109)による制御処理時に各種データを一時的に記憶するRAM110、コントローラCPUボード102との間でデータの送受信を行うシリアル通信制御部112、SUBCPUボード105との間でデータの送受信を行うシリアル通信制御部111を備えている。
The SUBCPU
SUBCPUボード105も同様に、このボード105全体の制御を司るSUBCPU2(114)、このSUBCPU2(114)により実行される動作プログラムを記憶している不揮発メモリ117、SUBCPU2(114)による制御処理時に各種データを一時的に記憶するRAM115、SUBCPUボード104との間でデータの送受信を行うシリアル通信制御部116を備えている。
Similarly, the SUBCPU
図2は、本実施の形態に係るプログラム更新機能を有するマルチCPUシステムにおける不揮発メモリ113,117の内容を説明する図である。尚、この実施の形態では、不揮発メモリ113,117の基本データ構成は実質的に同一とする。
FIG. 2 is a diagram for explaining the contents of the
この不揮発メモリ113,117は、プログラム更新用データによって書き換え可能な書換え可能ブロック(第1記憶ブロック)202と、書き換え不可能なブロック(第2記憶ブロック)203とに分割されている。これは、例えば不揮発メモリとしてフラッシュメモリを使用している場合、各メモリ領域毎に書き換えの可能/不可能を予め設定しておくことにより、これら第1及び第2ブロックを設定することができる。書き変え可能な第1記憶ブロック202には、通常動作時に、そのSUBCPUボードのSUBCPUが実行する動作プログラム204と、この動作プログラム204のバージョン番号205が格納されている。
The
また書き換え不可能な第2記憶ブロック203には、この不揮発メモリに記憶されている動作プログラム204を実行するSUBCPUを識別するためのCPU指定番号206と、対象となる暗号化されたプログラムを復号及び認証するための復号・認証秘密キー207と、動作プログラム204を更新するための運用プログラム208とが格納されている。
The
図3は、本実施の形態において、更新用データ出力装置101から供給されるプログラム更新用データの内容を説明する図である。
FIG. 3 is a diagram for explaining the contents of the program update data supplied from the update
図3において、301は、本実施の形態に係るマルチCPUシステムに供給される動作プログラム更新用データを示している。尚、この動作プログラム更新用データ301は、このマルチCPUシステムが備えているSUBCPUボードのSUBCPUを指定し、そのSUBCPUにより実行される動作プログラムの更新したい数(ここでは、N)の更新プログラムを含んでいる。
In FIG. 3,
ヘッダ復号用データ302は、プログラムを更新するSUBCPUを指定するCPU指定番号を含むヘッダ303を復号する際に使用されるデータである。このヘッダ303は、このヘッダ復号用データ302と、SUBCPUボード104の不揮発メモリ113に記憶されている復号・認証秘密キー207(図2)、運用プログラム208によってSUBCPUボード104で復号され、認証データ0(304)と不揮発メモリ113に含まれる復号・認証秘密キー207と運用プログラム208とによってSUBCPUボード104で認証される。これによりSUBCPUボード104のSUBCPU1(109)は、この動作プログラム更新用データ301の送信先を特定することができる。
The
尚、ここでは、ヘッダ303と、本文に相当するプログラム更新用データ1,2,〜N(306,308,310)とその認証データ1,2,〜N(307,309,311)とは、それぞれ別々(ヘッダ用、本文用)の復号用データによって暗号化されている。そして認証データ0(304)は、ヘッダの復号用データ302の他に、本文に相当するプログラムデータの一部を認証対象とすることにより、本文のプログラム更新用データとヘッダとがそれぞれ別々のアルゴリズム/秘密キーの場合でも、容易に全てのデータを認証できる構成となっている。
Here, the
本文用の復号用データ305は、それ以降の暗号化されたプログラム更新用データ1〜N(306,308,310)、及びそれぞれに対応する暗号化された認証データ1〜N(307,309,311)を復号する際に使用されるデータである。またプログラム更新用データ1〜Nのそれぞれは、復号された後、その対応する認証データを用いて認証される。
The
図4は、本発明の実施の形態に係るマルチCPUシステムにおけるプログラム更新処理を説明するフローチャートである。この処理は、更新用データ出力装置101よりコントローラCPU106に対してプログラム更新作業指示及びプログラム更新用データが送信されることによって開始される。
FIG. 4 is a flowchart for explaining program update processing in the multi-CPU system according to the embodiment of the present invention. This process is started when the update
まずステップS401で、コントローラCPU106は、SUBCPU1(109)に対し、CPU指定番号を含むプログラム更新作業の開始を指示するコマンドを送信する。次にステップS402で、コントローラCPU106は、更新用データ出力装置101より受信したプログラム更新用データ301を、SUBCPUボード104のSUBCPU1(109)に送信する。これによりSUBCPU1(109)は、その受信したプログラム更新用データ301をRAM110に格納する。次にステップS403で、SUBCPU1(109)は、CPU指定番号を含むヘッダ303を、その認証データ0(304)とヘッダ復号用データ302を用いて復号してプレインテキスト化したヘッダ303を得て認証する。またこの際、本文の復号用データ305を用いて、ヘッダ303以外の本文を復号し、この本文に含まれるプログラムの更新指示コマンドに含まれるSUBCPUの指定番号を得る。
First, in step S401, the
次にステップS404で、SUBCPU1(109)は、このプレインテキスト化したヘッダ303と、動作プログラムの更新指示コマンドに含まれるSUBCPUの指定番号とが一致するか否かを判定する。ここで一致しない場合、即ち、ヘッダと本文との整合性が取れていない場合はステップS406に進み、SUBCPU1(109)は、コントローラCPU106にエラーを通知して、一連のプログラム更新作業を終了させる。
In step S404, the SUBCPU1 (109) determines whether the
一方ステップS404で、ヘッダと本文とでSUBCPUの指定番号が一致する場合はステップS405に進み、SUBCPU1(109)は、そのプレインテキスト化されたヘッダ303に含まれるCPUの指定番号が、不揮発メモリ117113の第2ブロック203に保存されたCPU指定番号206とが一致しているか否かを判断し、一致する場合、即ち、そのCPU指定番号に該当するSUBCPUが、このSUBCPUボードシステム103に含まれている場合はステップS407に進んで、その後のプログラム更新動作を継続するが、一致しない場合には、ステップS406に進み、コントローラCPU106にエラーを通知して一連のプログラム更新作業を終了させる。SUBCPU1は、不揮発メモリ117の第2ブロック203に保存されたCPU指定番号206は、SUBCPU2に対して、問い合わせる事で知る事ができる。尚、ここではSUBCPUボードは、104と105の2種類しか示されていないが、それ以上の場合には、このステップS405で、ヘッダ303に含まれるCPUの指定番号と、それだけ分の不揮発メモリ113の第2ブロック203に保存されたCPU指定番号206とが一致しているか否かを判断することはもちろんである。
On the other hand, if it is determined in step S404 that the SUBCPU designated number matches between the header and the body, the process proceeds to step S405, and the SUBCPU1 (109) indicates that the CPU designated number included in the
ステップS407では、SUBCPU1(109)は、SUBCPUの指定番号に該当するSUBCPUが搭載されているSUBCPUボードの不揮発メモリの書き換え可能ブロック202に格納されているバージョン番号205を取得する。これは各SUBCPUボードに搭載されているシリアル通信制御部を介して行われる。そして、そのバージョン番号205と、プログラム更新用データに含まれるバージョン番号とを比較し、SUBCPUの指定番号が一致し、且つ、バージョン番号が一致しないかどうか、即ち、同じバージョン番号であれば更新の必要がないため、バージョンが一致するかどうかを判定する。この条件を満足しない場合はステップS408に進み、コントローラCPU106にプログラム更新の必要が無い旨を通知して処理を終了する。
In step S407, the SUBCPU1 (109) acquires the
一方ステップS407で、この条件が満足されるとステップS409に進み、SUBCPU1(109)は、SUBCPUの指定番号が示すSUBCPU(ここでは例えばSUBCPU2(114)とする)にプログラム更新作業を指示するコマンドを送信する。そして、そのSUBCPU2(114)に、その本文の復号用データ305〜認証データN(311)までを送信する。これによりCPU指定番号で示されるSUBCPUボードに、そのプログラム更新用データが送信されてプログラムが復号され、そのSUBCPUボードの動作プログラムが更新される。但し、ここでSUBCPUボード104だけが存在している場合には、SUBCPU1(109)がSUBCPUの指定番号に該当しなければ、ステップS409以降の処理が実行されることはないことはもちろんである。
On the other hand, if this condition is satisfied in step S407, the process proceeds to step S409, and the SUBCPU1 (109) issues a command for instructing the program update work to the SUBCPU indicated by the designated number of the SUBCPU (here, for example, SUBCPU2 (114)). Send. Then, the
ステップS409では、そのCPU指定番号に該当するSUBCPU2(114)が、そのプログラム更新用データを受信して、そのSUBCPUボード105のRAM115に格納する。そしてステップS410で、そのSUBCPU2(114)は、その本文の復号用データ305、暗号化されたプログラム更新用データ306、認証データ307と、そのボードの不揮発メモリ117に記憶されている復号・認証秘密キー207と運用プログラム208とを使用して、そのプログラム更新用データ306及び認証データ307を復号してプレインテキスト化されたプログラム更新用データ及び認証データを得る。そして、この復号されたプログラム更新用本文データを認証データを使って認証する。なお、このステップS410では、その指定されたSUBCPU2(114)は、プログラム更新用データ1(306)〜プログラム更新用データN(310)の全てに対して復号及び認証処理を実行する。
In step S409, the SUBCPU 2 (114) corresponding to the CPU designation number receives the program update data and stores it in the
次にステップS411で、そのSUBCPU2(114)は、ステップS410で復号したプログラム更新用データの認証に成功したかどうかを判定する。認証に失敗した場合はステップS406に進み、SUBCPU1(109)にエラーを通知してプログラム更新作業を終了する。これによりSUBCPU1(109)は、コントローラCPU106にエラーを通知してプログラム更新作業を終了する。
Next, in step S411, the SUBCPU2 (114) determines whether or not the program update data decrypted in step S410 has been successfully authenticated. If the authentication fails, the process proceeds to step S406, an error is notified to the SUBCPU1 (109), and the program update operation is terminated. As a result, the SUBCPU 1 (109) notifies the
一方、ステップS411で、プログラム更新用データの認証に成功した場合はステップS412に進み、SUBCPU2(114)は、そのプログラム更新用データを、そのSUBCPUボード105の不揮発メモリ117の書き換え可能な第1記憶ブロック202に書き込む。このとき、その動作プログラムのバージョン番号をバージョン番号205に記憶する。そしてステップS413で、その書き込み結果をSUBCPU1(109)に通知して、そのSUBCPUボード105のプログラム更新作業を終了する。
On the other hand, if the authentication of the program update data is successful in step S411, the process proceeds to step S412 and the SUBCPU2 (114) stores the program update data in the rewritable first memory of the
これによりSUBCPU1(109)は、コントローラCPU106に、そのプログラムの更新結果を通知する。またコントローラCPU106は、更新用データ出力装置101に対して、その更新結果を通知することにより、プログラム更新作業を終了する。
As a result, the SUBCPU 1 (109) notifies the
以上説明したように本実施の形態1に係るマルチCPUシステムによれば、プログラム更新用データの破壊、改竄による不正な不揮発メモリの更新、別のCPU用のプログラム更新用データによる動作プログラムの更新といった事態の発生を防止できる。また、このような動作プログラムの誤った更新による、システムの誤動作や動作不良などの発生を防止できるという効果がある。 As described above, according to the multi-CPU system according to the first embodiment, the program update data is destroyed, the unauthorized nonvolatile memory is updated by falsification, the operation program is updated by the program update data for another CPU, etc. The occurrence of the situation can be prevented. Further, there is an effect that it is possible to prevent the occurrence of malfunction or malfunction of the system due to such erroneous update of the operation program.
[実施の形態2]
次に本発明の実施の形態2について説明する。前述の実施の形態1は、プリンタ等の電子機器に予め組み込まれ、各々のCPUの通信経路内の位置及び機能が決まっているマルチCPUシステムにおけるプログラム更新処理を念頭にして説明したが、この実施の形態2では、例えばパーソナルコンピュータ(PC)等の拡張ボードの様に、マルチCPUシステムにおいて、SUBCPUの通信経路内の位置及び機能が確定されていない場合での処理について説明する。尚、この実施の形態2に係るマルチCPUシステムのハードウェア構成は前述の実施の形態1の場合と同様であるため、その説明を省略する。
[Embodiment 2]
Next, a second embodiment of the present invention will be described. The first embodiment has been described with the program update processing in a multi-CPU system incorporated in advance in an electronic device such as a printer and the position and function of each CPU being determined in communication. In the second embodiment, processing in the case where the position and function in the communication path of the SUBCPU are not determined in a multi-CPU system, such as an expansion board such as a personal computer (PC), will be described. Note that the hardware configuration of the multi-CPU system according to the second embodiment is the same as that of the first embodiment, and a description thereof will be omitted.
図5は、本発明の実施の形態2に係るマルチCPUシステムにおけるプログラム更新処理を説明するフローチャートである。 FIG. 5 is a flowchart for explaining program update processing in the multi-CPU system according to the second embodiment of the present invention.
尚、この実施の形態2では、マルチCPUシステムにおけるプログラム更新用データ301において、SUBCPUの指定番号を含むヘッダ303及び認証データ0(304)は、ヘッダ復号用データ302とSUBCPU指定番号が示すSUBCPUの不揮発メモリの第2記憶ブロック203に含まれる復号・認証秘密キー207、運用プログラム208によって復号されて、プレインテキストが得られる。また、こうして復号されたヘッダ303は、その復号された認証データ0(304)と復号・認証秘密キー207と運用プログラム208とによって認証される。この処理は、更新用データ出力装置101よりコントローラCPU106に対してプログラム更新作業指示及びプログラム更新用データが送信されることによって開始される。
In the second embodiment, in the
まずステップS501で、コントローラCPU106はその受信したプログラム更新作業指示に従ってSUBCPU1(109)に対して、プログラム更新作業の開始を指示する。またこれによりSUBCPU1(109)は、SUBCPU2(114)に対して、プログラム更新作業の開始を指示する。次にステップS502で、コントローラCPU106は、その受信した動作プログラム更新用データ301をSUBCPU1(109)に送信する。またSUBCPU1(106)も、その送られてきた動作プログラム更新用データ301をSUBCPU2(114)に送信する。そしてステップS503で、SUBCPU1(109)とSUBCPU2(114)は、その受信したプログラム更新用データ301のヘッダ303とヘッダ用認証データ0(304)とを復号してプレインテキストにした後、そのヘッダの認証を行う。
First, in step S501, the
ステップS504では、SUBCPU1(109)及びSUBCPU2(114)は、そのプレインテキストとなったプログラム更新データのヘッダに含まれるCPUの指定番号と、各々のSUBCPUボードの不揮発メモリ112,113の書き換え不可能な第2記憶ブロック203に格納されたCPU指定番号206と一致するかどうかを判定する。一致する場合はステップS506に進み、その後のプログラム更新作業を続行するが、一致しない場合にはステップS505に進み、その後の各々のプログラム更新作業を終了させる。即ち、ステップS505で、SUBCPU1(109)はコントローラCPU106にエラーを通知して、SUBCPUシステム103によるプログラム更新作業が終了する。
In step S504, the SUBCPU1 (109) and the SUBCPU2 (114) cannot rewrite the CPU designation number included in the header of the program update data that is the plain text and the
一方ステップS504で、SUBCPUの指定番号と、不揮発メモリに格納されたCPU指定番号206とが一致すると(ここではSUBCPU2(114)が該当するものとする)ステップS506に進み、暗号化された本文復号用データ305、プログラム更新用データ306,認証データ307と、不揮発メモリに記憶されている復号・認証秘密キー207と運用プログラム208によって、プログラム更新用データ306、認証データ307を復号してプレインテキスト化されたデータを取得する。そして、この復号したプログラム更新用データを認証データ307を使って認証する。そしてこれ以降、その指定されたSUBCPUは、ステップS506を繰り返し実行して、プログラム更新用データ1〜Nまでの全てについて復号及び認証を行う。
On the other hand, if the SUBCPU designation number matches the
こうしてステップS507で、指定されたSUBCPU2(114)が、その認証に成功したかどうかを判定し、認証に失敗するとステップS5050に進み、その指定SUBCPU2(114)は、SUBCPU1(109)にエラーを通知してプログラム更新作業を終了する。これによりSUBCPU1(109)は、そのエラーをコントローラCPU106に通知してプログラム更新作業を終了する。
In step S507, the designated SUBCPU2 (114) determines whether or not the authentication is successful. If the authentication fails, the process proceeds to step S5050, and the designated SUBCPU2 (114) notifies the SUBCPU1 (109) of an error. Then, the program update work is finished. As a result, the SUBCPU 1 (109) notifies the
一方ステップS507で、プログラム更新用データの認証に成功した場合はステップS508に進み、そのSUBCPU2(114)は、プログラム更新用データを不揮発メモリ117の書き換え可能な第1記憶ブロック202の動作プログラム204に書き込む。このとき、その動作プログラムのバージョン番号をバージョン番号205に記憶する。そしてステップS510に進み、その書き込み結果をSUBCPU1(109)に通知して、プログラム更新作業を終了する。これによりSUBCPU1(109)は、コントローラCPU106に、その更新結果を通知する。また、更にコントローラCPU106は、更新用データ出力装置101に対して、その更新結果を通知することにより、プログラム更新作業を終了する。
On the other hand, if the program update data has been successfully authenticated in step S507, the process proceeds to step S508, and the SUBCPU 2 (114) transfers the program update data to the
以上説明したように本実施の形態2によれば、マルチCPUシステムにおけるSUBCPUの配置に、より自由度を持たせることができ、このようなシステムにおいても前述の実施の形態1と同様に、プログラム更新用データの破壊、不正な改竄による動作プログラムの更新、別のCPU用の動作プログラムにより誤って更新する等の誤った動作プログラムの更新を防止できる。これにより、誤った動作プログラムが起動されることによるシステムの誤動作や動作不良の発生を防止できる。 As described above, according to the second embodiment, it is possible to give more freedom to the arrangement of SUBCPUs in a multi-CPU system, and in such a system as well as in the first embodiment, the program It is possible to prevent erroneous update of an operation program such as destruction of update data, update of an operation program due to unauthorized tampering, and update by an operation program for another CPU. As a result, it is possible to prevent the system from malfunctioning or malfunctioning due to the activation of an erroneous operation program.
[実施の形態3]
次に本発明の実施の形態3について説明する。この実施の形態3では、各々のSUBCPUのCPU番号の通信経路上の位置が既知である場合、1つのプログラム更新データで複数のCPU番号を持つSUBCPUの動作プログラムを更新する場合で説明する。尚、この実施の形態3に係るマルチCPUシステムのハードウェア構成及び不揮発メモリのデータ構成は前述の実施の形態1,2と同様であるためその説明を省略する。
[Embodiment 3]
Next, a third embodiment of the present invention will be described. In the third embodiment, a case will be described in which the position of each SUBCPU CPU number on the communication path is known and the operation program of the SUBCPU having a plurality of CPU numbers is updated by one program update data. Note that the hardware configuration of the multi-CPU system and the data configuration of the nonvolatile memory according to the third embodiment are the same as those of the first and second embodiments, and the description thereof is omitted.
図6は、本発明の実施の形態3に係るプログラム更新用データのデータ構成を説明する図である。 FIG. 6 is a diagram for explaining the data structure of program update data according to the third embodiment of the present invention.
この実施の形態3に係るプログラム更新用データ601は、SUBCPU1(109)用のプログラム更新用データ603と、SUBCPU2(114)用のプログラム更新用データ604、CPU指定番号及び指定番号のプログラム更新データが存在するデータ位置を示すヘッダ606と、このヘッダ606を復号するに必要なヘッダ復号用データ605と、復号されたヘッダ606を認証するに必要な認証データ0(607)が、前述の実施の形態に係るプログラム更新用データ301に追加されている。
The
ここで、SUBCPU1(109)用のプログラム更新用データ603及びヘッダデータ602は、SUBCPU1(109)により復号・認証が可能な対称アルゴリズム及び秘密キーで暗号化されている。またSUBCPU2(114)用のプログラム更新用データ604は、SUBCPU2(114)によって復号・認証が可能な対称アルゴリズム及び秘密キーで暗号化されている。更に、ヘッダの認証データ607は、SUBCPU1(109)用のプログラム更新用データ603の少なくとも一部と、SUBCPU2(114)用のプログラム更新用データ604の少なくとも一部のデータを認証対象として構成されている。
Here, the
図7は、本実施の形態3に係るマルチCPUシステムにおけるプログラム更新処理を説明するフローチャートである。この処理は、更新用データ出力装置101よりコントローラCPU106に対してプログラム更新作業指示及びプログラム更新用データが送信されることによって開始される。
FIG. 7 is a flowchart for explaining program update processing in the multi-CPU system according to the third embodiment. This process is started when the update
ますステップS701で、コントローラCPU106は、更新用データ出力装置101よりの更新指示に応じて、SUBCPU1(109)にプログラムの更新を指示する。次にステップS702で、コントローラCPU106は、SUBCPU1(109)にプログラム更新用データ601を送信する。次にステップS703で、SUBCPU1(109)は、そのプログラム更新用データのヘッダデータ602を復号し、SUBCPU1(109)用のプログラム更新データ603の少なくとも一部、SUBCPU2(114)用のプログラム更新用データ604の少なくとも一部とともに認証する。次にステップS704では、ヘッダデータ602の認証に成功し、且つそのヘッダに含まれるCPU指定番号を示すSUBCPUが、SUBCPUシステム103の中に存在するか否かを判定する。存在する場合はステップS706に進むが、そうでない場合はステップS705に進み、SUBCPU1(109)はコントローラCPU106にエラーを通知して、プログラム処理を終了する。
In step S701, the
一方、存在する場合はステップS706で、SUBCPU1(109)はヘッダで指定されているCPU指定番号のSUBCPU(ここではSUBCPU2(114)とする)にプログラムの更新を指示する。そしてステップS707で、SUBCPU1(109)は、そのヘッダで指定されているCPU指定番号とアドレス情報とに基づいて、SUBCPU2(114)にプログラム更新用データを送信する。次にステップS708で、SUBCPU1(109)からプログラム更新指示とプログラム更新用データを受信したSUBCPU2(114)は、その受信したプログラム更新データのヘッダと認証データとを復号して、プレインテキストのプログラム更新データ及びヘッダを取得する。そして認証データを使って、そのヘッダを認証する。 On the other hand, if it exists, in step S706, SUBCPU1 (109) instructs SUBCPU (here, SUBCPU2 (114)) of the CPU designation number designated in the header to update the program. In step S707, SUBCPU1 (109) transmits program update data to SUBCPU2 (114) based on the CPU designation number and address information designated in the header. In step S708, the SUBCPU 2 (114) that has received the program update instruction and the program update data from the SUBCPU 1 (109) decrypts the received program update data header and authentication data, and updates the plain text program. Get data and header. The authentication data is used to authenticate the header.
その結果、ステップS709で、SUBCPU2(114)は、その認証が成功し、且つプレインテキストとなったプログラム更新データのヘッダに含まれるCPU指定番号と、そのSUBCPUボード105の不揮発メモリ117の第2記憶ブロック203に格納されたCPU指定番号206とが一致するかを判定する。一致したときはステップS710に進むが、一致しない場合にはステップS715に進み、SUBCPU1(109)にエラーを通知してプログラム更新作業を終了させる。
As a result, in step S709, the SUBCPU 2 (114), the authentication is successful and the CPU designation number included in the header of the program update data that has become plain text, and the second storage in the
ステップS710では、SUBCPU2(114)は、そのプログラム更新データ604を復号して認証する。次にステップS711で、SUBCPU2(114)は、認証に成功したかどうかを判定し、成功した場合はステップS712に進むが、そうでない場合にはステップS715に進み、SUBCPU1(109)にエラーを通知してプログラム更新作業を終了する。
In step S710, the SUBCPU2 (114) decrypts and authenticates the
ステップS712では、SUBCPU2(114)は、プログラム更新データによって不揮発メモリ117の書き換え可能な第1記憶ブロック202の動作プログラム204を更新する。このとき、その動作プログラムのバージョン番号をバージョン番号205に記憶する。次にステップS713で、SUBCPU2(114)は、その更新作業の処理結果をSUBCPU1(109)に通知する。そしてステップS705で、SUBCPU1(109)は、そのSUBCPU2(114)からの更新結果をコントローラCPU106に通知する。
In step S712, the SUBCPU2 (114) updates the
尚、ここではSUBCPUボードが2種類の場合で説明したが、それ以上のSUBCPUボードが含まれている場合であっても、ヘッダに含まれているCPU番号に応じてSUBCPU1(109)がSUBCPUを指定することにより、上述の実施の形態と同様にして、その指定されたSSUBCPUの動作プログラムが更新されることは言うまでもない。 Here, the case where there are two types of SUBCPU boards has been described. However, even if more SUBCPU boards are included, SUBCPU1 (109) selects SUBCPUs according to the CPU number included in the header. It goes without saying that, by designating, the designated SSUBCPU operation program is updated in the same manner as in the above-described embodiment.
上記説明したように本実施の形態3によれば、プログラム更新用データの破壊、不正な改竄による動作プログラムの更新、別のCPU用の動作プログラムで誤って更新するといった事態の発生を防止できる。これにより、不正なプログラム更新用データによる動作プログラムの更新に伴う、システムの誤動作やデータの破損などの発生を防止できるという効果がある。 As described above, according to the third embodiment, it is possible to prevent the occurrence of situations such as destruction of program update data, update of an operation program due to unauthorized tampering, and erroneous update with an operation program for another CPU. As a result, there is an effect that it is possible to prevent the occurrence of system malfunction or data corruption accompanying the update of the operation program by the illegal program update data.
[他の実施形態]
以上、本発明の実施の形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、または一つの機器からなる装置に適用しても良い。
[Other Embodiments]
The embodiment of the present invention has been described in detail above. However, the present invention may be applied to a system composed of a plurality of devices or an apparatus composed of one device.
なお本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが、その供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明には、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。 In the present invention, a software program that realizes the functions of the above-described embodiments is supplied directly or remotely to a system or apparatus, and the computer of the system or apparatus reads and executes the supplied program code. In some cases, it can be achieved by In that case, as long as it has the function of a program, the form does not need to be a program. Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. That is, the present invention includes a computer program itself for realizing the functional processing of the present invention. In this case, the program may be in any form as long as it has a program function, such as an object code, a program executed by an interpreter, or script data supplied to the OS.
プログラムを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。その他のプログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。 As a storage medium for supplying the program, for example, floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card ROM, DVD (DVD-ROM, DVD-R) and the like. As another program supply method, a client computer browser is used to connect to an Internet homepage, and the computer program of the present invention itself or a compressed file including an automatic installation function is downloaded from the homepage to a storage medium such as a hard disk. Can also be supplied. It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different home page. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the claims of the present invention.
また本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件を満足するユーザに対してインターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。 In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and a user who satisfies a predetermined condition downloads key information for decryption from a homepage via the Internet. It is also possible to execute the encrypted program by using the key information and install the program on a computer.
またコンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。 In addition to the functions of the above-described embodiments being realized by the computer executing the read program, the OS running on the computer based on the instruction of the program may be part of the actual processing or The functions of the above-described embodiment can also be realized by performing all the processing and performing the processing.
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。 Furthermore, after the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion board or The CPU or the like provided in the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.
Claims (12)
外部より供給される、暗号化されたヘッダ及びプログラムを含むプログラム更新用データを受信する受信手段と、
前記受信手段により受信された前記プログラム更新用データのヘッダを復号及び認証して前記プログラムの供給先のCPUを特定し、特定された前記CPUに前記暗号化されたプログラムを供給する供給手段とを有し、
前記供給先のCPUは、
前記供給手段により供給された前記暗号化されたプログラムを復号及び認証する復号認証手段と、
前記復号認証手段により認証されたプログラムを用いて当該CPUのプログラムを更新することを特徴とするデータ処理装置。 A data processing apparatus having a plurality of CPUs capable of transmitting and receiving data to and from each other,
Receiving means for receiving program update data including an encrypted header and a program supplied from the outside;
Supply means for decrypting and authenticating the header of the program update data received by the receiving means to identify a CPU to which the program is supplied and supplying the encrypted program to the identified CPU; Have
The supply destination CPU is:
Decryption authentication means for decrypting and authenticating the encrypted program supplied by the supply means;
A data processing apparatus, comprising: updating a program of the CPU using a program authenticated by the decryption authentication unit.
外部より供給される、暗号化されたヘッダ及びプログラムを含むプログラム更新用データを受信して前記複数のCPU回路に供給するコントローラとを有し、
前記コントローラは、
前記プログラム更新用データに含まれる前記ヘッダを復号して、当該プログラム更新用データの供給先を特定して供給する手段を有し、
前記複数のCPU回路のそれぞれは、
前記プログラム更新用データを復号して認証する復号認証手段と、
前記復号認証手段により復号及び認証されたプログラムを前記メモリに格納する手段と、
を有することを特徴とするデータ処理装置。 A plurality of CPU circuits each having at least a CPU, a memory and a communication circuit, each capable of communicating with each other;
A controller for receiving program update data including an encrypted header and a program supplied from the outside and supplying the data to the plurality of CPU circuits;
The controller is
Means for decoding the header included in the program update data and specifying and supplying a supply destination of the program update data;
Each of the plurality of CPU circuits is
Decryption authentication means for decrypting and authenticating the program update data;
Means for storing in the memory a program decrypted and authenticated by the decryption authentication means;
A data processing apparatus comprising:
外部より供給される、暗号化されたヘッダ及びプログラムを含むプログラム更新用データを受信する受信工程と、
前記受信工程で受信された前記プログラム更新用データのヘッダを復号及び認証して前記プログラムの供給先のCPUを特定し、特定された前記CPUに前記暗号化されたプログラムを供給する供給工程とを有し、
前記供給工程により供給された前記暗号化されたプログラムを復号及び認証する復号認証工程と、
前記復号認証工程で認証されたプログラムを用いて当該CPUのプログラムを更新することを特徴とするデータ処理装置におけるプログラム更新方法。 A program update method in a data processing apparatus having a plurality of CPUs capable of transmitting and receiving data to and from each other,
A receiving step of receiving program update data including an encrypted header and a program supplied from the outside;
A supply step of decrypting and authenticating the header of the program update data received in the reception step to identify a CPU to which the program is supplied, and supplying the encrypted program to the identified CPU; Have
A decryption authentication step for decrypting and authenticating the encrypted program supplied by the supply step;
A program update method in a data processing apparatus, wherein the program of the CPU is updated using the program authenticated in the decryption authentication step.
前記プログラム更新用データに含まれる前記ヘッダを復号して、当該プログラム更新用データの供給先を特定して供給する工程と、
前記複数のCPU回路のそれぞれにおいて、前記プログラム更新用データを復号して認証する復号認証工程と、
前記復号認証工程により復号及び認証されたプログラムを前記メモリに格納する工程と、
を有することを特徴とするデータ処理装置におけるプログラム更新方法。 Each of the plurality of CPU circuits each having at least a CPU, a memory, and a communication circuit and capable of communicating with each other and receiving program update data including an encrypted header and a program supplied from outside A method for updating a program in a data processing apparatus having a controller for supplying to a CPU circuit of
Decrypting the header included in the program update data, identifying and supplying a supply destination of the program update data; and
In each of the plurality of CPU circuits, a decryption authentication step for decrypting and authenticating the program update data;
Storing the program decrypted and authenticated in the decryption authentication step in the memory;
A method for updating a program in a data processing apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004368525A JP4054802B2 (en) | 2004-12-20 | 2004-12-20 | Data processing apparatus and program updating method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004368525A JP4054802B2 (en) | 2004-12-20 | 2004-12-20 | Data processing apparatus and program updating method thereof |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006178544A true JP2006178544A (en) | 2006-07-06 |
JP2006178544A5 JP2006178544A5 (en) | 2007-01-11 |
JP4054802B2 JP4054802B2 (en) | 2008-03-05 |
Family
ID=36732633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004368525A Expired - Fee Related JP4054802B2 (en) | 2004-12-20 | 2004-12-20 | Data processing apparatus and program updating method thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4054802B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008186319A (en) * | 2007-01-31 | 2008-08-14 | Kyocera Mita Corp | Electronic equipment, and electronic equipment control program |
JP2011086240A (en) * | 2009-10-19 | 2011-04-28 | Yokogawa Electric Corp | Verification device and software updating system for field equipment using the same |
WO2011055804A1 (en) | 2009-11-09 | 2011-05-12 | Necインフロンティア株式会社 | Handy terminal and payment method used for the handy terminal |
JP2016139262A (en) * | 2015-01-27 | 2016-08-04 | キヤノン株式会社 | Information processing device, control method of the same and program thereof |
CN106020855A (en) * | 2015-03-24 | 2016-10-12 | 日本电气株式会社 | Multiple CPU system and method for upgrading CPU |
-
2004
- 2004-12-20 JP JP2004368525A patent/JP4054802B2/en not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008186319A (en) * | 2007-01-31 | 2008-08-14 | Kyocera Mita Corp | Electronic equipment, and electronic equipment control program |
JP2011086240A (en) * | 2009-10-19 | 2011-04-28 | Yokogawa Electric Corp | Verification device and software updating system for field equipment using the same |
WO2011055804A1 (en) | 2009-11-09 | 2011-05-12 | Necインフロンティア株式会社 | Handy terminal and payment method used for the handy terminal |
US10491395B2 (en) | 2009-11-09 | 2019-11-26 | Nec Platforms, Ltd. | Handy terminal and payment method to be used in same |
JP2016139262A (en) * | 2015-01-27 | 2016-08-04 | キヤノン株式会社 | Information processing device, control method of the same and program thereof |
CN106020855A (en) * | 2015-03-24 | 2016-10-12 | 日本电气株式会社 | Multiple CPU system and method for upgrading CPU |
JP2016181117A (en) * | 2015-03-24 | 2016-10-13 | 日本電気株式会社 | Multi-cpu system and cpu upgrade method |
Also Published As
Publication number | Publication date |
---|---|
JP4054802B2 (en) | 2008-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5369502B2 (en) | Device, management device, device management system, and program | |
JP6226709B2 (en) | Image forming apparatus, control method therefor, and program | |
JP6399763B2 (en) | Information processing apparatus and information processing method | |
JP6720581B2 (en) | Information processing apparatus, information processing method, and information processing program | |
EP2028604A1 (en) | File processing system and method, and file processing program | |
JP2008001089A (en) | Printing program and printing apparatus | |
JP2009230399A (en) | Firmware update system and firmware update program | |
JP2007102785A (en) | Security method and system, and computer-readable storage medium storing the method | |
JP2009253783A (en) | Mobile terminal, data protection method and program for data protection | |
JP4054802B2 (en) | Data processing apparatus and program updating method thereof | |
JP2003058486A (en) | Image forming device | |
JP2009301429A (en) | Method and apparatus for detecting software falsification, and image processor | |
US7543153B2 (en) | Digital signature generating apparatus, method, computer program and computer-readable storage medium | |
JP2008065678A (en) | Control system of equipment, control apparatus, and protection method of program | |
JP2012160851A (en) | Image forming apparatus | |
JP2005348250A (en) | Image forming device, data encipher method, program, and recording medium | |
JP2006270645A (en) | Information processing apparatus, information processing method, and information processing program | |
JP6436794B2 (en) | Information processing apparatus, control method thereof, and program | |
JP2009169759A (en) | Electronic equipment and information processing method | |
JP7313232B2 (en) | Information processing device, its control method, and program | |
JPH1115668A (en) | Data storage method/device | |
JP2007148492A (en) | Method for detecting alteration of print job issuing program | |
JP5226383B2 (en) | Microcomputer identification information management system and method | |
JP2006235791A (en) | Image processor | |
JP2004320751A (en) | Digital certificate management system, apparatus and method for digital certificate management, method for deciding update procedure and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061117 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070711 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070831 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071030 |
|
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: 20071122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071210 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101214 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4054802 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111214 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121214 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131214 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |